民國113年 地方四等 電子工程 計算機概要
第23題
以C 語言撰寫的程式片段如下,執行的結果為何?int a=8;a=a>>2;printf("a=%d\n", a);
題目
以C 語言撰寫的程式片段如下,執行的結果為何?int a=8;a=a>>2;printf("a=%d\n", a); A. a=8 B. a=6 C. a=4 D. a=2
官方答案
- 答案:D. a=2
解析
運算子 >> 是右移(right shift)。a 初值為 8,其二進位為 0000 1000;右移 2 位等同將數值除以 2 的 2 次方(整數除法),即 8 / 4 = 2,二進位變成 0000 0010,所以輸出 a=2。對非負整數而言,右移 n 位就是除以 2ⁿ 並捨去餘數;若為有號負數,部分實作採算術右移會補入符號位。本題 a 為正數,結果明確為 2。選項 A 是未移位、B 是把 >> 誤當成某種減法、C 只移了一位,皆與右移兩位的結果不符。
AI 參考解析(推得答案已與官方答案比對一致),非官方公告內容,僅供備考參考。
官方資料
答案以考選部公告之測驗式試題標準答案 PDF 為準。