LONGEPASS
數位電子/程式語言/Q74
困難
正確率 -
Q74.

C 語言程式中,x=38,y=226,下列敘述何者正確?

數位電子 · 甲級 · 程式語言 · Q74

難易度分析

4 / 5

題目設計為多選,需辨識兩項敘述正確。此類位元運算題常考慮 8 位元截斷、移位方向以及位元之間的互動。由於要同時把握多個概念並排除誤導性選項,對考生的分析與計算能力提出較高挑戰。

正確答案 (複選):③, ④

  • ③ 執行z=x<<3 後,z=48:左移運算將位元向左移動指定位置,右側補 0。x=38 (0b00100110) 左移 3 位後,在 8 位元資料型態下溢位截斷為 0b00110000 = 48,此為數位電子中常見的位元移位操作。
  • ④ 執行z=y>>2 後,z=56:右移運算將位元向右移動指定位置,左側補 0(無號數)。y=226 (0b11100010) 右移 2 位後為 0b00111000 = 56,相當於整數除以 4 的運算。

錯誤選項解析

  • ① 執行z=x&y 後,z=54:AND 運算需將兩數轉為二進制後逐位元比較,僅當兩者皆為 1 時結果才為 1。x=38 (0b00100110) 與 y=226 (0b11100010) 執行 位元 AND 後結果為 0b00100010 = 34,而非 54。
  • ② 執行z=x|y 後,z=102:OR 運算為逐位元比較,只要任一者為 1 結果即為 1。x=38 (0b00100110) 與 y=226 (0b11100010) 執行 位元 OR 後結果為 0b11100110 = 230,而非 102。
Learning Tip

"位元運算為數位電子乙丙級檢定常考題型,需熟練掌握 AND、OR、XOR、NOT、左移、右移 的二進制計算原理。常見陷阱為忽略 8 位元溢位截斷 效應,以及混淆 AND(取交集)與 OR(取聯集)的運算結果。建議將十進制快速轉換為二進制後逐位驗證,避免心算錯誤。"

學員答題分佈

①執行z=x&y 後,z=540%
②執行z=x|y 後,z=1020%
③執行z=x<<3 後,z=480%
④執行z=y>>2 後,z=560%

此答題分佈是根據學員在 LongePass 模擬考等實際作答紀錄計算而成。與考友分享這道歷屆試題與詳細解析!

相似類型題目