- ベストアンサー
ニ進数における「1の補数」の欠点
質問はタイトルそのままなんですが、どのような 欠点があるのでしょうか?? 色々調べてみたんですがどうしてもわかりません。 よろしくお願いします。
- みんなの回答 (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の補数で計算すると、そこに矛盾が生じる。
その他の回答 (2)
- BLUEPIXY
- ベストアンサー率50% (3003/5914)
回答No.2
+0 と -0 があること?
質問者
お礼
回答ありがとうございました!!
- ekuko_ecch
- ベストアンサー率17% (16/91)
回答No.1
2進数の 7 と -7 を足してみたら解るよ。
質問者
お礼
確認してほしいんですけど 7(10) → 111(2) -7(10) → { 111(2) →(1の補数)→ 000(2) →(1をたす)→} 001(2) 111 + 001 ------ 1000 001(2)が-7(10)を表してしまう所が1の補数の欠点 ということですか??
お礼
わかりやすい説明どうもありがとうございました( ̄∀ ̄*) 意味が理解できてようやくスーッとしました♪