如何使用按位运算符反转和旋转十六进制数并返回 C 中的数字?
例如:
0xabcd -> 0xdcba
0xabcd -> 0xdabc
最佳答案
很难知道从哪里开始这个问题。另外我闻到了作业的味道。
几点:
没有“十六进制数”这样的东西。十六进制只是一种符号。你如何反转和旋转十进制数并返回C中的数字?例如:
1776 -> 6771
1776 -> 6771?
要解决这个问题,您需要深入了解位置表示法,无论是 10 进制、16 进制、2 进制,还是其他。
所有你需要的都可以通过加减乘除得到。 那些是对数字的操作。模数也很有帮助。
如果你正好想乘以或除以2的幂,我向你推荐C左移
<<
和右移>>
运营商。这些非常适合使用 C 类型unsigned
表示的数字或unsigned long
.
关于c - c中的位操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2054278/