• 締切済み

算術シフトについて

基本的なことで申し訳ないのですが、コンピューターのシフト演算命令において、算術右シフトでは、なぜ「符号ビット」と同じビットを空いたビットに補充することになるのでしょうか?

みんなの回答

  • gungnir7
  • ベストアンサー率43% (1124/2579)
回答No.2

正の数のときは符号ビットは0で空いたところにも0を埋めて、2の除算の意味になります。 まあ、これは理解できると思います。 負の数の符号ビットは1ですが、負の数のときは2の補数表現を採っています。 これは正の数を反転させて1を加えたものです。 つまり反転しているので上では空いたところに加えた0も反転して1になります。 検算は簡単にできますから十進数の-10とか-20で検算してみて下さい。

gayaldy
質問者

お礼

有難うございました。補数なのですね。

  • dr-9
  • ベストアンサー率47% (24/51)
回答No.1

既出です。 下記URLを参照下さい。

参考URL:
http://okwave.jp/qa1128981.html?rel=innerHtml&p=right&l=3