首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

CSAPP 習題 2.1 解答:十六進制與二進制互轉基礎練習

     編輯:關於C語言

CSAPP 習題 2.1 解答:十六進制與二進制互轉基礎練習

CSAPP 第 2 章開篇習題,專注於十六進制 ⇄ 二進制的手工轉換能力,這是理解計算機數據表示的基本功。每組 4 位二進制對應 1 位十六進制,掌握 0-F 對應表即可秒級完成。

十六進制 → 二進制對照表(必背)

HexBinaryHexBinary
0000081000
1000191001
20010A1010
30011B1011
40100C1100
50101D1101
60110E1110
70111F1111

習題標準答案

A. 0x39A7F8 → 二進制

3    9    A    7    F    8
0011 1001 1010 0111 1111 1000
→ 0011 1001 1010 0111 1111 1000

B. 二進制 1100 1001 0111 1011 → 十六進制

1100 1001 0111 1011
C    9    7    B
→ 0xC97B

C. 0xD5E4C → 二進制

0    D    5    E    4    C
0000 1101 0101 1110 0100 1100
→ 0000 1101 0101 1110 0100 1100

D. 二進制 10 0110 1110 0111 1011 0101 → 十六進制

從右向左每 4 位分組(左邊不足補 0):
0010 0110 1110 0111 1011 0101
2    6    E    7    B    5
→ 0x26E7B5  (原文 0x26D7B5 為筆誤,正確應為 0x26E7B5)

技巧總結

  1. 分組法:二進制從右向左每 4 位一組,左邊不足補 0。
  2. 直寫法:十六進制每位獨立展開為 4 位二進制,順序不變。
  3. 驗算:轉換後位數應為 4 的倍數;十六進制位數 × 4 = 二進制位數。

這類轉換是後續學習位運算、浮點數編碼、內存佈局的基石,建議練習至「見十六進制即知二進制模式」的肌肉記憶程度。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved