c中的位操作

Sup*_*ing 4 c bit-manipulation

如何反转和旋转十六进制数并使用按位运算符返回C中的数字?

例如:

0xabcd -> 0xdcba

0xabcd -> 0xdabc
Run Code Online (Sandbox Code Playgroud)

Nor*_*sey 13

很难知道从哪个问题开始.另外我闻到了作业.

一些要点:

  • 没有"十六进制数"这样的东西.Hex只是一种表示法.如何反转和旋转十进制数并在C中返回数字?例如:

    1776年 - > 6771

    1776 - > 6771?

  • 要解决这个问题,你需要深刻理解位置符号,无论是基数10,基数16,基数2还是你有什么.

  • 您可以通过添加,减去,乘法和除法来获得所需的一切. 这些是对数字的操作.模数也非常有用.

  • 如果你碰巧想要乘以或除以2的幂,我向你推荐C左移<<和右移>>算子.这些适用于使用C类型unsigned或表示的数字unsigned long.

  • +1用于解释(以适当的粗略方式)*number*及其在特定*base*中的符号之间的区别. (6认同)