二進制的原碼、反碼、補碼
一、原碼
是一種計算機中對數字的二進制定點表示方法,原碼不分正負他們的第一位都是符合位0代表正1代表負。
比如:10的二進制為:00000000 00000000 00000000 00001010。
-10的二進制為:10000000 00000000 00000000 00001010。
二、反碼
1、 對於正數來說反碼就是他自己本身所以不改變。
2、對於負數來說反碼就與它本身的原碼有些不同了,他的基本規則為除了他的符號位外,將負數原碼的0變成1,1變成0,得到的就是該負數的反碼。
比如10的反碼為:00000000 00000000 00000000 00001010。
-10的反碼為:11111111 11111111 11111111 11110101.
三、補碼
1、對於正數來說他的原碼、補碼、反碼都相同所以正數不會變。
2、對於負數來說他的補碼原則為:在其最后一位加1,然后得到的就是其補碼。
-12的原碼:1000 1100最高位不變,其余位取反:1111 0011,加一得到補碼:1111 0100。
總結:正數的反碼、原碼、補碼都相同。負數在計算機都是以補碼存在,原則在保持符號為不變的情況下,將負數的原碼中的0變成1、1變成0,得到的是該負數的反碼,然后在將其加1的結果就是負數的補碼