みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

算術シフトについて

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

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


また

投稿日時 - 2012-07-29 17:05:27

QNo.7616843

すぐに回答ほしいです

質問者が選んだベストアンサー

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

投稿日時 - 2012-07-29 21:26:22

お礼

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

投稿日時 - 2012-07-29 22:27:42

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問