プロが教えるわが家の防犯対策術!

10010010(2)を
左に二桁の算術シフト演算について
いくらやってもテキストの解答と合いません(10100100)
どうやったらでるのでしょうか?

また左右の論理シフト演算、右算術シフト演算
の結果はそれぞれどうなるのでしょうか?


また

A 回答 (1件)

10010010



10100100
は,左1bit算術シフトの結果です。

--------
論理シフトがbit列全体を対象とするのに対して,
以下,カッコの中のbit列が押し出されるとするなら,

10010010を左2bit論理シフトすると,
(10←)010010←00,よって,01001000

10010010を右2bit論理シフトすると,
00→100100(→10),よって,00100100

--------
算術シフトは先頭の符号bitは動かさない。

よって,
10010010を左2bit算術シフトすると,
1(00←)10010←00,よって,11001000

さらに,算術右シフトの場合だけは,
ゼロではなく,符号bitのコピーが埋められるのが要点。

よって,
10010010を右2bit算術シフトすると,
1 11→00100(→10),よって,11100100
    • good
    • 0
この回答へのお礼

丁寧にありがとうございます!
やっぱりテキストの解答じたいが間違っていました・・・・
安心しました!

お礼日時:2012/07/29 22:27

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!