See also ebooksgratis.com: no banners, no cookies, totally FREE.

CLASSICISTRANIERI HOME PAGE - YOUTUBE CHANNEL
Privacy Policy Cookie Policy Terms and Conditions
2の補数 - Wikipedia

2の補数

出典: フリー百科事典『ウィキペディア(Wikipedia)』

2の補数(にのほすう)とは、通常は2進法における2の補数のことである。

2進デジタルコンピュータの内部で負の値を表すためによく使われる。 与えられた2進数値(nビット)に対して、そのビット数より1桁多く、最上位ビットが1、残りがすべて0であるような数値(n=8なら 100000000 )から、元の数を引いた数が2の補数である。計算後は、最上位ビット(n+1ビット目)は無視してよい。

目次

[編集]

8ビットで表されている数 00100100(10進数: 36) の補数を求める。

   100000000 (8+1=9ビット)
-)  00100100 (8ビット)
-------------
    11011100 (計算結果: 8ビット)
(↑最上位ビット(この場合 9ビット目)は、0、1 のいかんにかかわらず無視する。)

したがって、2の補数は 11011100 であり、これが2進コンピュータ内部における -36 の表現である。

元の数(00100100)と求められた(11011100)の2つの数を足し合わせると、すべての桁に 0 が立ち、負数が求められていることがわかる(桁上がりで生じる最上位桁に立つ 1 は無視される)。

[編集] 別の求め方

「1の補数に1を加える方法」

まず

00100100の各ビットを反転させる(1の補数を求める)と、
11011011。

次に1を加えると、

   11011011
+)        1
------------
   11011100

得られた値は、上記の値と同じことが分かる。

[編集] 補足

全ての桁に1が立っている状態(11…1: nビット)から、 元の数を引いた後に求められる補数1の補数と言う。

00100100(元の数)
11011011(1の補数)
11011100(2の補数)

[編集] 負の整数の見方

コンピュータにおいては、2の補数と符号ビットを使った方法で負の整数を表すことが多い。こうした方法での負の整数の見方を例をあげて説明する。

16ビットの整数型数値を考える。 ここで、左端のビットを符号ビットとし、符号ビットが1なら負数とする。符号ビット以外の部分は、負の整数の場合、絶対値が2の補数で格納されていることとする。

1111 1111 1111 00012は、どういう数値を表しているのだろうか?

左端の符号ビットより符号はマイナスとわかる。次に絶対値を求めることを考えればいい。

(-)111 1111 1111 00012

絶対値部分は2の補数になっているので、2の補数を求める手順の逆をすればいい。まず、1を引くことにより1の補数にする。

(-)111 1111 1111 00002

ビット反転し、1の補数を元の数値にする。

(-)000 0000 0000 11112

これは10進の15。符号をつけて、結局、-15のこととわかる。

[編集] 十進法との対応

十進表記 4ビット整数表記
−8 1000
−7 1001
−6 1010
−5 1011
−4 1100
−3 1101
−2 1110
−1 1111
0 0000
1 0001
2 0010
3 0011
4 0100
5 0101
6 0110
7 0111


aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -