什麼是位元運算

把整數視為二進位的位元序列,逐位元進行邏輯與(AND)、邏輯或(OR)、互斥或(XOR)、反相(NOT),或向左右移動(移位)的運算。用於取出或設定特定位元、計算1的位元數,以及乘除2的冪次等。

日文名稱: ビット演算

「位元運算」出現在4領域的5道練習題中(邏輯電路, 程式設計基礎(虛擬碼追蹤), 效能評估與效能剖析等)。

這個名詞所屬的領域: 程式設計基礎(虛擬碼追蹤)

練習位元運算的題目

2輸入AND閘的輸出何時為1?

  1. A兩個輸入都為1時
  2. B兩個輸入都為0時
  3. C其中任一個輸入為1時
查看答案與解析

正確答案:A. 兩個輸入都為1時

AND閘(邏輯積)只有在所有輸入都為1時輸出才為1,其他情況為0。如同串聯的開關,用於「兩個條件都滿足時才動作」的控制。例如將時脈與致能做AND,只在需要時才讓時脈通過的時脈閘控,以及在位元運算中只取出特定位元的遮罩(x AND 0x0F 取出低4位元),都是代表性的用途。

2輸入OR閘的輸出何時為0?

  1. A兩個輸入不同時
  2. B兩個輸入都為0時
  3. C兩個輸入都為1時
查看答案與解析

正確答案:B. 兩個輸入都為0時

OR閘(邏輯和)只要至少有1個輸入為1,輸出就為1,輸出為0的情況只有所有輸入皆為0時。如同並聯的開關,用於「只要滿足任何一個條件就動作」的控制。例如將多個中斷請求彙整的電路,以及在位元運算中將特定位元設為1的操作(x OR 0x80 使最高位元變為1)。

解析中的「位元運算」

出現「位元運算」的題目(5題)

  1. 2輸入AND閘的輸出何時為1?
  2. 2輸入OR閘的輸出何時為0?
  3. ∧ 表示逐位元的邏輯與。執行下列程式後 c 的值為下列何者?
  4. 以效能計數器發現分支預測錯誤非常多。下列何者是適用的改善方法?
  5. 下列關於以「恆定時間」實作密碼處理時應遵守的事項,何者正確?

半導體、電子電路與資訊計算工具

相關名詞

時脈閘控 中斷 效能計數器(Performance counter) 分支預測 陣列 引數 回傳值 取餘運算 物件導向 差一錯誤

前往名詞解釋列表