- ベストアンサー
基本情報技術者の試験について
論理シフトについてです 11101100を左に2ビットシフトすると桁あふれですよね?! 解説していただければありがたいです!
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
ずいぶん昔から情報技術者試験で出題されている問題ですね。 8ビット単位であれば、次のようになります。 (1) C=0:11101100 (2) C=1:11011000 左へ1ビットシフト (3) C=1:10110000 左へ1ビットシフト Cはキャリービットで、MSB(最上位ビット)からの桁溢れの値が入ります。よって、左へ1ビットシフトした段階で桁溢れが起こっています。 ローテイト命令でシフトした場合は、以下のようになります。 (1) C=0:11101100 (2) C=1:11011000 (3) C=1:10110001 Cはキャリービットで、MSB(最上位ビット)からの桁溢れが起こった値が入りますが、ローテイト命令ではシフト後に、キャリーの値がLSB(最下位ビット)に入りますので、こうなります。
お礼
ありがとうございます!! とても分かりやすかったです^^