CSAPP 2.3 要求完成單字節(8 位)的三制轉換表。單字節正好用兩位十六進制表示,是理解字節級數據表示的最小單元。熟練掌握此表,能無縫銜接後續位運算、浮點數編碼、網絡字節序等主題。
| 十進制 | 二進制 | 十六進制 | 備註 |
|---|---|---|---|
| 0 | 0000 0000 | 0x00 | 全零 |
| 167 | 1010 0111 | 0xA7 | |
| 62 | 0011 1110 | 0x3E | |
| 88 | 0101 1000 | 0x58 | 'X' ASCII |
| 55 | 0011 0111 | 0x37 | '7' ASCII |
| 136 | 1000 1000 | 0x88 | 高位置 1(負數最高位) |
| 243 | 1111 0011 | 0xF3 | |
| 80 | 0101 0000 | 0x50 | 'P' ASCII |
| 172 | 1010 1100 | 0xAC | |
| 231 | 1110 0111 | 0xE7 |
0000→0 ... 1111→F。0xA7 = 10×16 + 7 = 167)。| 字符 | 十進制 | 十六進制 | 二進制 |
|---|---|---|---|
| '0' | 48 | 0x30 | 0011 0000 |
| 'A' | 65 | 0x41 | 0100 0001 |
| 'a' | 97 | 0x61 | 0110 0001 |
| 空格 | 32 | 0x20 | 0010 0000 |
| 換行 | 10 | 0x0A | 0000 1010 |
89 50 4E 47)。(byte & 0xF0) >> 4 取高 4 位。0xCC (未初始化)、0xCD (已釋放) 等填充模式。建議隨機抽取 0~255 進行三制互轉練習,直到 5 秒內完成單字節轉換。