計算機中有無符號數的表示方法

2021-06-19 17:39:16 字數 1145 閱讀 6983

反碼:正數的反碼為原碼,負數的反碼是原碼符號位外按位取反

補碼:正數的補碼為原碼,負數的反碼是反碼+1

在計算機中用補碼表示資料的原因:如果二進位制第一位是0的話, 代表正數, 1的話代表負數. 比如 -1的表示方法是(以8位數字為例.) 10000001 這就是-1的表示方法, 第乙個1就是符號位. 這種表示方法有乙個致命的缺點, 有兩種方法可以表示0(00000000, 10000000)

。補碼技術可以完美解決上述問題。0的表示方法都是(00000000).

真值與三種機器數間的對照表真值

x[x]原、

[x]反

、[x]補

真值x[x]原

[x]反

[x]補

十進位制二進位制十進位制

二進位制+0

+000

0000 -0

-0000

1000

1111

0000 +1

+001

0001 -1

-0001

1001

1110

1111 +2

+010

0010 -2

-0010

1010

1101

1110 +3

+011

0011 -3

-0011

1011

1100

1101 +4

+100

0100 -4

-0100

1100

1011

1100 +5

+101

0101 -5

-0101

1101

1010

1011 +6

+110

0110 -6

-0110

1110

1001

1010 +7

+111

0111 -7

-0111

1111

1000

1001 +8

- --8

-1000 -

-1000

計算機中的有符號數和無符號數

1.概念 在計算機中,可以區分正負型別的數,成為 有符號數 signed 無正負型別的數 只有整數型別 成為 無符號數 unsigned 簡明的說,無符號說就是其所有的位數都用來表示數值的大小,有符號數除最高位來表示數值的正負外 0表示正數 1表示負數 其餘各位用來表示數值的大小。舉個例子說明一下 ...

雜貨邊角(1) 計算機中有符號數和浮點數表示和運算

1.整數的有符號表示方式 計算機中目前常用的整數型別分為int 32和int 64,以32位為例。計算機中都以補碼形式存放有符號數。正整數的補碼表示和正整數的無符號型別一致,符號位為0 負整數的補碼表示則需要依次經過求反碼,求補碼,舉例如下 對於 4而言,則符號位為1,4的二進位制表示為 000 0...

有符號數和無符號數在計算機中怎麼區分?

確如題主所說,計算機中儲存的任何資料都是二進位制形式,單看資料是無法認定其格式和內容的。計算機要用二進位制編碼來表達數值的符號,最直觀的方法就是符號位。但為了保證基本算術運算在正負數上的一致性,x86計算機對負數採用了特殊的編碼方式,即補碼。為什麼補碼這麼巧妙實現了正負數的加減運算?參見維基百科 補...