電気通信主任技術者 電気通信工学の基礎 練習問題 第29問: 整数を 8 ビットの 2 の補数で扱う演算回路で、10 進の 100 と 50 を加算し、結果を 8 ビットに収めた。このときの結果についての記述として、正しい
電気通信工学の基礎
– / 40 解いた
第29問
整数を 8 ビットの 2 の補数で扱う演算回路で、10 進の 100 と 50 を加算し、結果を 8 ビットに収めた。このときの結果についての記述として、正しいものはどれか。
解答と解説を先に見る
先に見ると、この問題は今回は育ちません。
正解: 4. 結果のビット列は 10010110 で、2 の補数として読むと −106 を表す。
「2 の補数として読むと −106 を表す」が正しい記述です。10 進の 100 は 01100100、50 は 00110010 で、2 進で加えると 10010110 (符号なしで 128+16+4+2=150) になります。
8 ビットの 2 の補数で表せるのは −128〜+127 なので、150 は範囲を超え、最上位の符号ビットが 1 になります。符号ビットが 1 のビット列は、符号なしの値から 2⁸=256 を引いた負の数を表すので、150−256=−106 と読まれます。
正の数どうしの和が負になるのは、あふれ (オーバーフロー) の印です。「+150」は上限の +127 を超えるので表せません。
「−22」は、符号ビットを負の印とし、残り 7 ビットの 0010110=22 を絶対値と読んだ値です。「−127〜+128」は誤りで、負の側が 1 つ多い −128〜+127 が正しい範囲です。
8 ビットの 2 の補数では、符号ビットが 1 なら 256 を引いて読む、と覚えましょう。
関連キーワード: 2の補数・オーバーフロー・符号ビット・2進数
模試 (20問)
この問題が解けたら、本試験はどうですか?本番形式で、ほかの科目もまとめて確かめる
本番形式の模擬試験で実力チェックPremium (月980円)Premium (ご利用中)制限時間 80分
広告