前期中間試験を前に「情報B」の1時間を演習にあてるための準備
「情報B」の試験範囲の中心は2進数とビット列の扱い。昨年までは、負の二進数が最大の難関だったが、今年はあえて負の数を扱わず、ビット列の扱いを多くしてきた。
今年は、例年2クラスのところ3クラス分と「情報B」の希望者が多い。理解を深めるために、試験範囲を早めに終えて、1時間の演習時間を取ることにした。今日は、その演習問題を作成した。
演習問題の前半は解答付き、後半は解答なし、という構成。
以下、オリジナル問題から一部を抜粋して記録する。(6)はネットワーク、(7)はアルゴリズムに繋げる布石。2進数とビット列の表記に甘さがあるが、授業では追って説明する。
(1)10進数を2進数に直す。
■135 ■13.875
(2)2進数を10進数に直す。
■11001101 ■101.1011
(3)次の10進数の式の結果を2進数で表す。
■5×32 ■255÷64
(4)次のビット列どうしの論理演算をせよ。
■(10101010 AND 00001111) OR 11001100
(5)2進数Aに対して必ず同じ結果が得られる操作の組合せを答えよ。
ア.Aを左に3ビットシフトした数と、Aを左に1ビットシフトした数を加える。
イ.Aを左に3ビットシフトした数から、Aを引く。
ウ.Aを左に2ビットシフトし、Aを加える。その結果を1ビット左にシフトする。
エ.Aを左に1ビットシフトし、Aを加える。その結果を1ビット左にシフトし、Aを加える。
オ.Aに2進数1010を掛ける。
カ.Aに2進数111を掛ける。
(6)1バイトのビット列に対して、11110000と論理和を取ることは、次のどの操作と同じことになるか。
ア.上位4ビットをそのまま、下位4ビットを0にすること。
イ.上位4ビットをそのまま、下位4ビットを1にすること。
ウ.下位4ビットをそのまま、上位4ビットを0にすること。
エ.下位4ビットをそのまま、上位4ビットを1にすること。
(7)A,B,Cは2進数で、A=1001、Cの初期値は0とする。
B=100とB=111の場合について、次の操作を順に実行していくとき、各段階のCの値を書け。
■Bの第1ビットが1ならばCにAを加えて、それをCとする
Bの第1ビットが0ならば何もしない
■Cを1ビットだけ左にシフトして、それをCとする
■Bの第2ビットが1ならばCにAを加えて、それをCとする
Bの第2ビットが0ならば何もしない
■Cを1ビットだけ左にシフトして、それをCとする
■Bの第3ビットが1ならばCにAを加えて、それをCとする
Bの第3ビットが0ならば何もしない
最近のコメント