- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:基本情報の問題にて)
【質問】負数を2の補数で表現する符号付き16ビットの2進数を16進数で表示したもののうち、4倍するとあふれが生じるものはどれか
このQ&Aのポイント
- 負数を2の補数で表現する符号付き16ビットの2進数を16進数で表示したもののうち、4倍するとあふれが生じるものはイです。
- 負数を2の補数で表現する符号付き16ビットの2進数を16進数で表示したもののうち、4倍するとあふれが生じる理由は、4倍すると0111 1111 1111 1100になり、負数が正数になるためです。
- 最上位の位が左にはみ出ればすべてあふれと認識していましたが、この問題ではイ、ウ、エのいずれもあふれにはなりません。なぜなら、4倍すると0111 1111 1111 1100になり、負数が正数になるためです。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
先頭ビットが符号を意味し、コンピュータ内では負数を2の補数表現のままシフトします。2倍するごとに1ビットずつ左シフトし、先頭ビットの符号が変わってしまうようだと「桁あふれ」になります。 4倍なので2進数頭3ケタだけ考えたとき、 110x は2つシフトすると符号が変わってしまいあふれが生じます。 この他、101x や 010x のように符号はたまたま一致するものでも、2倍の段階であふれていて数値として意味なしません。 結論として、4倍してあふれないものは、000x と 111x で始まる物のみ、 つまり、0xxx 、1xxx 、Exxx 、Fxxx 以外は全てあふれが生じます。
お礼
ありがとうございました。 符号が変わることが桁あふれなのですね。 具体例もつけていただき大変わかりやすかったです。