補数について

ただの学生さん  
(No.1)
  応用情報技術者平成25年秋期 午前問3でわからないところがあります.
  URL:https://www.ap-siken.com/kakomon/25_aki/q3.html

  問3のa,bで1と2の補数で表現すると解説では,正負が逆転しています.
  なぜ,補数を取ると正負が逆転するのでしょうか?

  お手数をおかけしますが,ご回答宜しくお願い致します.
2022.06.30 12:41
Howitzerさん 
(No.2)
補数を考えるとき、最上位ビットは符号ビットです。
全ビットを反転させると符号ビットも反転するので、正負が逆転します。

ゼロの場合は特殊です。
1の補数では、マイナスゼロ的な値になりますが、
2の補数では、ちゃんと元のビット列に戻りゼロになります。
2022.06.30 14:28
boyonboyonさん 
AP シルバーマイスター
(No.3)
問題とは逆に負の数を作る方から考えるといいかと。
最上位ビットが0のものは、そのまま正の数に

0000    0 
0001    1    に対応する補数を  ー1を表現したものにする  ①
0010    2    に対応する補数を  ー2を表現したものにする  ②
0011    3    に対応する補数を  ー3を表現したものにする  ③
0100    4    に対応する補数を  ー4を表現したものにする  ④
0101    5    に対応する補数を  ー5を表現したものにする  ⑤
0110    6    に対応する補数を  ー6を表現したものにする  ⑥
0111    7    に対応する補数を  ー7を表現したものにする  ⑦

2の補数の場合
①  1111
②  1110
③  1101
④  1100
⑤  1011
⑥  1010
⑦  1001
1000    の場合は、最上位が1なのでー8

1の補数の場合
①  1110
②  1101
③  1100
④  1011
⑤  1010
⑥  1001
⑦  1000
1111は、0に対応するので、ー0のようなもの???

が対応する補数になります。

あと、補数に正負はありません。
2022.06.30 23:40
ただの学生さん  
(No.4)
  お礼の返信が大変遅れてしまい申し訳ございません.
  Howitzerさん,boyonboyonさんお答えありがとうございます.
2022.07.01 17:35

返信投稿用フォーム

スパム防止のためにスレッド作成日から30日経過したスレッドへの書込みはできません。

その他のスレッド


Pagetop