- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:2の補数の問題)
2の補数の問題とは?
このQ&Aのポイント
- 負数を2の補数で表現する符号付き16ビットの2進数を16進法で表示したもののうち、4倍するとあふれが生じるものはどれか。
- 負数を2の補数で表現する際、符号が変わるとあふれが生じる。
- DFFFとE000の2進数表現において、4倍すると符号が変わらないため、あふれは生じない。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
先頭ビットが符号を意味するわけですが、 左シフトでは、1ビットずつ左シフトしたときに、 その先頭ビットの符号が変わってしまうようだと「桁あふれ」になります。 chaozuxさんは一度、正数に戻してからお考えのようですが、 コンピュータ内では負数を2の補数表現のままシフトしますから、 直す必要はありませんよ。 では例示します。 イ DFFF →(シフト前)1101 1111 1111 1111 →(シフト後)0111 1111 1111 1100 ※先頭ビットが1から0に変わったので「桁あふれ」。 ウ E000 →(シフト前)1110 0000 0000 0000 →(シフト後)1000 0000 0000 0000 ※ぎりぎり先頭ビットは1のままなのでセーフ。
お礼
なるほど!2の補数表現のままシフトさせるのですね! 大納得です。 大変わかりやすい回答ありがとうございました。