计算机中数字表示与位运算深入解析
1. 位域与压缩字节
在计算机编程中,位域和压缩字节是常见的概念。
- 位域 :当你看到一个值,其中一个或多个位不时翻转,例如从 0xABCD1234 变为 0xABCD1434 再变回来,这很可能是一个位域(或位图)。
- 压缩字节 :当 strcmp() 或 memcmp() 复制缓冲区时,它会同时加载/存储 4 (或 8) 个字节。例如,一个包含 “4321” 的字符串,如果被复制到另一个地方,在某个时刻你会在某个寄存器中看到 0x31323334 这个值,这是将 4 个字节压缩到一个 32 位的值中。
2. 有符号数的表示
计算机中有多种表示有符号数的方法,但 “补码” 是最常用的一种。以下是一些字节值的表示表:
| 二进制 | 十六进制 | 无符号 | 有符号 |
| ---- | ---- | ---- | ---- |
| 01111111 | 0x7f | 127 | 127 |
| 01111110 | 0x7e | 126 | 126 |
| … | … | … | … |
| 00000110 | 0x6 | 6 | 6 |
| 00000101 | 0x5 | 5 | 5 |
| 00000100 | 0x4 | 4 | 4 |
| 00000011 | 0x3 | 3 | 3 |
计算机数字表示与位运算深度解析
超级会员免费看
订阅专栏 解锁全文
1372

被折叠的 条评论
为什么被折叠?



