C語言 原碼 反碼 補碼

2021-09-11 18:44:43 字數 923 閱讀 5523

c語言----原碼、反碼、補碼

本文以12和(-12)為例,簡要介紹正數和負數的原碼、反碼、補碼求解過程

(注:本文均以c語言中整數int所佔4位元組32位形式來求解!)

正數原碼、反碼、補碼

1、求解方法:正數的原碼 = 反碼 = 補碼!

2、例子:求解12的原碼、反碼和補碼?

解:12對應的二進位制形式為:1100;

原碼:0000 0000 0000 0000 0000 0000 0000 1100;

反碼:0000 0000 0000 0000 0000 0000 0000 1100;

補碼:0000 0000 0000 0000 0000 0000 0000 1100;

負數原碼、反碼、補碼

1、求解方法:

負數原碼: 先求該數絕對值對應的原碼,再將其最高位的符號位改為1即可;

負數反碼:將它的原碼形式除了最高位外,其他位上的數都取反,即:0變1,1變0;

負數補碼:將它的反碼加上1;

2、例子:求解(-12)的原碼、反碼和補碼?

解:(-12)對應的絕對值是12,12的原碼如下:

0000 0000 0000 0000 0000 0000 0000 1100;

再將上式最高位變為1即它的原碼形式;

所以:(-12)原碼為:1000 0000 0000 0000 0000 0000 0000 1100;

反碼由上述求解方法可得(除最高位外,其餘0變1,1變0):

(-12)反碼為:1111 1111 1111 1111 1111 1111 1111 0011;

補碼為反碼加1,即:

(-12)補碼為:1111 1111 1111 1111 1111 1111 1111 0100;

C語言原碼 反碼 補碼

原碼 反碼 補碼 計算機的基本儲存單元是位元組 byte 計算的的最小儲存單元是位 bit c語言當中的數被分為有符號數和無符號數 有符號數是 正數 負數 0 無符號數是 0 不帶符號的正數 對於無符號數和有符號數的0和正數,原碼 反碼 補碼一致 對於有符號數,最高位為符號位,0代表 1代表 對於有...

C語言的原碼,反碼,補碼

1 原碼表示 原碼表示法是機器數的一種簡單的表示法。其符號位用0表示正號,用 表示負號,數值一般用二進位制形式表示。設有一數為x,則原碼表示可記作 x 原。例如,x1 1010110 x2 一1001010 其原碼記作 x1 原 1010110 原 01010110 x2 原 1001010 原 1...

原碼 反碼 補碼

正數 原碼 反碼 補碼一樣 7 原 0 0000111 b 7 反 0 0000111 b 7 補 0 0000111 b 負數 原碼就是原來的表示方法 反碼是除符號位 最高位 外取反 補碼 反碼 1 7 原 1 0000111 b 7 反 1 1111000 b 7 補 1 1111001 b 當...