修了試験 2013-12-15実施分 基本情報技術者試験 問2
1バイトのデータで0のビット数と1のビット数が等しいもののうち,符号なしの2進整数として見たときに最大になるものを,10進整数として表したものはどれか。
正答4
解説
正解は4です。 1バイトは8ビットなので、0と1のビット数が等しいとは、1が4個、0が4個ある状態です。 符号なし2進整数として最大にするには、重みの大きい上位ビットから1を詰めます。 【計算】 上位4ビットを1、下位4ビットを0にすると11110000(2)です。 11110000(2) = 128+64+32+16 = 240 【選択肢別解説】 1:× 120は01111000(2)で、1が4個ですが最上位ビットが0です。 最上位に1を置いた240の方が大きくなります。 2:× 127は01111111(2)で、1が7個あります。 0と1の個数が等しいという条件を満たしません。 3:× 170は10101010(2)で、1が4個ですが1が交互に並んでいます。 上位に1を寄せた240より小さい値です。 4:○ 11110000(2)は1と0が4個ずつで、上位ビットから1を並べているので条件を満たす最大値です。 10進数では240です。 【ポイント】 2進数は上位ビットほど重みが大きいので、決まった個数の1で最大値を作るなら上位に寄せます。 最小値を作るなら逆に下位に寄せ、00001111(2)=15になります。まとめて解く
修了試験 2013-12-15実施分を通しで解く(80問)→