0x8000
二进制是:1000 0000 0000 0000
十进制是:32768
if (count & 0x8000)
判断4字节的最高位是否为1
运算符 | 描述 |
---|---|
& 与 | 两个位都为1时,结果才为1 |
| 或 | 两个位都为0时,结果才为0(两个相应的二进制位中只要有一个为1,该位的结果值为1) |
^ 异或 | 两个位相同为0,相异为1 |
~ 取反 | 0变1,1变0 |
<< 左移 | 各二进位全部左移若干位,高位丢弃,低位补0 |
>> 右移 | 各二进位全部右移若干位,对无符号数,高位补0,有符号数,各编译器处理方法不一样,有的补符号位(算术右移),有的补0(逻辑右移) |
https://www.cnblogs.com/yrjns/p/11246163.html
n = 00000000 00000000 11001101 00000000 n=0xcd00
m = 00000000 00000000 00000000 11011111 m=0xdf;
k =n|m 00000000 00000000 11001101 11011111 k=n|m
b1= 00000000 00000000 00000000 11011101 b1=0xdd;
b2= 00000000 00000000 00000000 01101110 b2=0x6e;
b3= 00000000 00000000 00000000 10111011 b3=0xbb;
b4= 00000000 00000000 00000000 10101101 b4=0xad;
//左移运算符
b1<<24 11011101 00000000 00000000 00000000
b2<<16 00000000 01101110 00000000 00000000
b3<<8 00000000 00000000 10111011 00000000
b4= 00000000 00000000 00000000 10101101
x= 11011101 01101110 10111011 10101101
b1 b2 b3 b4
x= (b1<<24)|(b2<<16)|(b3<<8)|b4
参考:
https://blog.csdn.net/zhyue28/article/details/88582653
其他:
https://blog.csdn.net/suoxd123/article/details/86482579