• ベストアンサー

ニ進数における「1の補数」の欠点

質問はタイトルそのままなんですが、どのような 欠点があるのでしょうか?? 色々調べてみたんですがどうしてもわかりません。 よろしくお願いします。

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

  • ベストアンサー
回答No.3

7(10)を8ビット2進数で表わすと00000111(2)。 -7(10)を8ビット2進数(2の補数)で表わすと11111001(2)。 この2つを足すと00000111 + 11111001 = 100000000。 ここで、2進数を8ビットとしているので、00000000。 絶対値の同じ正負の数を加算すると0。 2の補数で計算すると、それが自然に実現できる。 しかし、1の補数だと、 7(10)を8ビット2進数で表わすと00000111(2)。 -7(10)を8ビット2進数(1の補数)で表わすと11111000(2)。 この2つを足すと00000111 + 11111000 = 11111111 != 0。 絶対値の同じ正負の数を加算すると0。 1の補数で計算すると、そこに矛盾が生じる。

tarirari99
質問者

お礼

わかりやすい説明どうもありがとうございました( ̄∀ ̄*) 意味が理解できてようやくスーッとしました♪

その他の回答 (2)

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.2

+0 と -0 があること?

tarirari99
質問者

お礼

回答ありがとうございました!!

回答No.1

2進数の 7 と -7 を足してみたら解るよ。

tarirari99
質問者

お礼

確認してほしいんですけど 7(10) → 111(2) -7(10) → { 111(2) →(1の補数)→ 000(2)        →(1をたす)→} 001(2) 111 + 001 ------ 1000 001(2)が-7(10)を表してしまう所が1の補数の欠点 ということですか??