【IT基礎理論】補数表現について

こんにちは。行未です。

補数表現についての備忘録。イッツ走り書き。

補数について

そもそも補数ってなんぞ?ってことですね。

補数とは、「ある数について、足すと桁上がりが発生する数のうち『最小』のもの」です。

例えば、我々の扱う2桁の世界でいうとこんな感じです。

・65の補数⇒35
・82の補数⇒18

それぞれ足すと100になります。

補数のメリット

各所で言われていますが、「減算」を「加算」で表せることに尽きます。
つまりは、減算が使えない世界で効果を発揮します。

以下の式で考えてみます。先程と同様、2桁の世界で考えてみます。

88-24=64

問題が発生します。「-24」がネックです。「-」も1桁と考えます。

ここで、10の補数の考えを使います。
今回は2桁の計算ですので、(2+1)桁の最上位桁が1、すなわち「100」があると仮定します。
あくまでも3桁目は仮定です。

24の補数は76です。
では、以下のように式を変形してみましょう。

88-24=64    ⇒    88+76=164

先ほど、3桁目を仮定しましたが、変形後の右辺の3桁目の1を無視すると、64となり、変形前と一致します。

先ほどの例は、「2桁でしか表現できない」という世界で考えました。
正の数のみであれば、2桁で表現できる数は0~99の100種類です。

では、負の数は?通常であれば-を付けます。-をつけてみましょう。
-1~-9の10種類しか表現できません。よろしくないです。
先ほどの式の例でいえば、「-24」が出来ません。

コンピュータの計算はビット計算で成り立っていますので、減算を加算で表現できるのは大きなメリットとなります。

参考サイト様

http://proengineer.internous.co.jp/content/columnfeature/6254

IT, TIPSIT, Tips

Posted by 行未