基礎理論
符号なし8ビット整数 42(2進数: 00101010)を左に2ビットシフト(論理左シフト)した結果として正しいものはどれか。
ア.84(2進数: 01010100)
イ.168(2進数: 10101000)正解
ウ.10(2進数: 00001010)
エ.21(2進数: 00010101)
解説
ビット左シフトは「2で掛け算する魔法」。1ビット左シフト=×2、2ビット左シフト=×4。ただし8ビットをはみ出た分は消える!
なぜ イ が正解か
Step1: 42×(2²)=42×4=168を計算。Step2: 00101010を左に2ビットシフト→先頭2ビット"00"が押し出されて→10101000₂=168。検算: 128+32+8=168 ✓。8ビットの最大255以内なのでオーバーフローなし。
出典: AI生成問題(学習用)