变量取高八位、低八位操作
- 取一个变量N
这里设十进制形式情况下: N = 4544
十进制4544不同进制下的值:
二进制 1001 0110 0100
十进制 4544
十六进制 0x11c0
1、取高八位
示例:4544 / 256 = 17
高八位取值结果:17
- 二进制形式:
1111 1111 = 255(十进制形式)
示例1:00010001 11000000 & 00000000 11111111 >> 24 = 0001 0001
示例2:00010001 11000000 >> 8 = 0001 0001
高八位取值结果:0001 0001
0001 0001 = 17(十进制形式)
- 十六进制形式:
0x00ff = 255(十进制形式)
示例1:0x11c0 & 0x00ff >> 24 = 0x11
示例2:0x11c0 >> 8 = 0x11
高八位取值结果:0x11
0x11 = 17(十进制形式)
2、取低八位
示例:4544 % 256 = 192
高八位取值结果:192
- 二进制形式:N & 11111111
1111 1111 = 255(十进制形式)
示例:00010001 11000000 & 00000000 11111111 = 00000000 11000000
高八位取值结果:11000000
11000000 = 192(十进制形式)
- 十六进制形式:N & 0x00ff
0x00ff = 255(十进制形式)
示例:0x11c0 & 0x00ff = 0xc0
高八位取值结果:0xc0
0xc0 = 192(十进制形式)
如有错误内容请积极批评指正!感谢! 参考博客: 博客1:日常总结:c++中百分号256、/256用处,变量取高八位、低八位 博客2:取高八位与低八位,高八位与低八位合并
|