補数を使うメリット

987 ワード

布布君:補コードを使うメリットは何ですか.
小甲魚:まず補コードは何ですか.
布布君:补号は何ですか.
小甲魚:一つの数はコンピュータにバイナリ形式で格納され、符号を補う発明は符号付き数(整数)を表すためである.
布布君:私はバイナリの左の1位が「シンボルビット」だと知っています.「0」で正数を表し、「1」で負数を表します.つまり、10進数3のバイナリ表現は0000011(1バイト)ですが、-3は10000001と表すことができますよね.
小甲魚:半分、半分じゃない!
布布君:(⊙o⊙)ああ?
小甲魚:3が0000011、-3が10000001と表示されている場合、3-3の値は2進数でどのように表示されますか?
布布君:簡単!3 - 3 == 3 + (-3) == 0.バイナリは0000011+10000011==100000110、あれ?どうして00000000に等しくないの?
小甲魚:そうですか.コードの発明はこの問題を解決するためです!
布布君:だから符号を補うのはまずビットを押して逆を取って、それから+1?
小甲魚:はい、正数の補符号はそれ自体のバイナリ形式です.負数の符号化は、まずその絶対値をビットで逆にし、+1する必要があります.
             -3,     10000011     (     ),   11111100,  +1    11111101。

                  3 + (-3) == 0     。

布布君:0000011+11111101==10000000、00000じゃないの?
小甲魚:ほら、0000011+11111101==10000000、ここの結果は9ビットで、1バイト単位ではこの左の1が「オーバーフロー」していて、自動的に捨てられるので、結果は00000になりました.
布布君:わあ、わかりました.甲魚先生o(≧v≦)o~~素晴らしい!
小甲魚:ああ、先人たちがすごいですね.
魚のフォーラムから転載しますhttps://fishc.com.cn/thread-67124-1-1.html