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$。
▼ 還有更多解析內容