負数を2の補数で表現する符号付き16ビットの2進数を16進法で表示したもののうち、4倍するとあふれが生じるものはどれか。
ア 1FFF
イ DFFF
ウ E000
エ FFFF
答え イ
DFFFを2進数で表すと 1101111111111111 となります。なぜイなのか、さっぱりわかりません
ビット反転して1足したものと考えれば良いので DFFF は マイナス200E つまり -8206 です。
これを4倍すれば(2進で考えれば2ビットシフトすれば)-32824となり、桁あふれが起きるのでこれが回答となります。
これは16bit の符号付き整数の範囲が -32768~32767 であることを理解していれば理解できるでしょう。
詳細は下記参照。
いわしで回答するような質問ではないはずだが?
符号ビットが 変わってしまうことです。
符号とは プラスかマイナスのことです。
先頭のビットが 符号扱いとなります。
1~は マイナス
0~は プラス
4倍とは 二回左にシフトすることを言います。
1101111111111111を二回シフトすると
0111111111111100となります。
先頭のビットが変わりましたので、あふれとなります。
参照してください。
http://questionbox.jp.msn.com/qa4278151.html