「補数」の版間の差分
削除された内容 追加された内容
Babydaemons (会話 | 投稿記録) 英訳を追加 |
m 知りたい人が分かるように表現を変えました。 |
||
1行目:
'''補数'''('''ほすう''';''Complement'')とは、ある[[N進数|基数法]]において、ある[[自然数]] a に足して桁が1つ上がる
コンピュータが加算処理で正の数の減算(負の数の加算)が行う際に利点がある。
==定義==
N 進法において、N の[[冪乗]](べきじょう) の中で自然数 a 以上となる最小の
* M − a
* M − a − 1
つまり、
* N 進法において、a に足して全体の桁が1つ上がる
* N 進法において、a に足しても桁が上がらない(増えない)範囲で最大の自然数を「N 進法における a に対する (N − 1) の補数」という。
「N の補数」という用語における N は N の冪乗から引くことを指すのに対し、
「(N − 1) の補数」という用語における (N − 1) は、実質的には (N − 1) を並べたものから引くことを意味する。
N の補数を'''基数の補数'''、(N − 1) の補数を'''減基数の補数'''と呼ぶこともある。
通常、N 進法、N の補数及び (N − 1) の補数という用語は、実際には
例えば、N = 10
「N 進法における」との表現はしばしば省略される。
しかし、そのよう
β 進法における基数の補数のいずれを指すのか曖昧にな
例えば、「9 の補数」
実際には、N は
とはいえ、
基数の補数及び減基数の補数の用語の組み合わせにはこのような意味での曖昧さはない。
なお
==利点==
加算処理で正の数の減算(負の数の加算)が行える。
基数の補数を負の数の表記法として採用すると、最上位桁からの桁上がり(桁あふれ・[[算術オーバーフロー]])を無視すれば、通常の加算処理で負の数の加算(つまり正の数の減算)が行えることになる。この利点のため、2の補数は多くのコンピュータで負の数の内部表現に採用されている。
補数を用いて10進数の減算を加算処理に置き換え
52934-38917
|