【发布时间】:2020-09-07 11:13:41
【问题描述】:
我得到了一个 32 位无符号整数,我正在尝试将该无符号整数中的 8 个最高有效位保存到一个无符号字符中。然后我想将这些位清除为 0。最后一部分可以用掩码完成,但我不确定如何准确地找到 8 个最高有效位,然后让掩码确切知道要清除哪些位。
另一个相关的问题是我试图找到最低有效位并将其向左移动以使其成为最高有效位并返回该值。像上面一样,我不确定如何找到最低有效位,然后知道将其向左移动多远
【问题讨论】:
-
this question 有帮助吗?
-
num &= 0x00ffffff将清除 8 个最高有效位。 -
您确定要 8 个最高有效位还是 8 个最高有效非零位?
-
关于 LSB 的同样问题
-
我想要 8 个最重要的非零位。至少,它也是第一个零位。
标签: c bit-manipulation bitwise-operators bit-shift bitwise-and