我有一个字节,我想测试位1是否开启。
我写的条件是: if(byte & (1 << 0)) return true;
if(byte & (1 << 0)) return true;
困惑:我不懂怎么读一个字节。
第一位是这个吗? 即(1<<0)
00000000 ^
还是这个? (1<<1)
在计算机科学中,计数总是从0开始。所以第0位是最右边的。这就是为什么,在 that answer , 110 (6) << 1 1100 (12) . 这也意味着按0移位是一个空操作(它什么也不做)。
110 (6) << 1
1100 (12)
byte & 1 -不需要换档。
byte & 1