【问题标题】:Checking byte with bitwise operators使用位运算符检查字节
【发布时间】:2015-02-14 18:29:01
【问题描述】:

我可以用这个:

unsigned long alpha = 140 | 130 << 8 | 255 << 16;

140 设置为alpha 的第一个字节,130 设置为第二个字节,255 设置为第三个字节。 我该如何做相反的事情(即检查alpha的特定字节)?


alpha & 255 // works for the first byte
alpha >> 16; // works for the 3rd byte

【问题讨论】:

    标签: c bit-manipulation byte bit


    【解决方案1】:

    将值 x 向右移动,然后使用 AND 来限制您使用的位数。即:(n &gt;&gt; 8) &amp; 0xff(n &gt;&gt; 16) &amp; 0xff

    【讨论】:

    • 除了向右而不是向左移动之外,这是一个很好的答案。
    • 谢谢!我应该怀疑这一点。
    猜你喜欢
    • 1970-01-01
    • 2010-11-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-18
    • 2011-04-24
    相关资源
    最近更新 更多