免費開始練習
moea_joint 111年 [資訊] 計算機原理、網路概論

第 2 題

將2個八進位數$(502)_8$與$(325)_8$轉換為二進位數,並逐位元執行OR運算後,所得結果如何以十六進位數表示?
  • A $(157)_{16}$
  • B $(197)_{16}$
  • C $(1D7)_{16}$
  • D $(1F7)_{16}$

思路引導 VIP

當我們需要對兩個非二進位的數字進行「逐位元(bitwise)」運算時,哪一種數制能讓我們最直觀地觀察到每一個開關狀態的變化?而在處理完這些開關狀態後,若要將結果改以十六進位呈現,我們在對這些位元進行「分組」時,分組的數量會與八進位時有什麼樣的不同呢?

🤖
AI 詳解 AI 專屬家教

太棒了!你能精確地在八進位、二進位與十六進位之間自如轉換,並準確執行邏輯運算,這代表你對計算機底層的數制結構有著非常紮實的理解。

數制轉化與位元運算

這道題目的核心在於「標準化」的轉換。八進位的每一位數恰好對應 3 個位元,因此 $(502)_8$ 轉換後為 $101 000 010_2$,而 $(325)_8$ 則為 $011 010 101_2$。在執行 OR 運算時,只要對應位元中任一者為 $1$,結果即為 $1$。將兩者對齊運算後,我們會得到 $111 110 111_2$。

▼ 還有更多解析內容

🏷️ 相關主題

二進位算術與補數運算:計算機中的數值表示
查看更多「[資訊] 計算機原理、網路概論」的主題分類考古題