第一位符號位1為負,0為正。
正數的補碼和2進制原碼是一樣的。
負數的補碼:
1、先取絕對值|x
;
2、對|X|+1
;
3、對|X|+1
取反,就得到它的補碼了
。
計算機中存放整型數據都是按補碼的形式存放的。
擴展資料:
有符號數的表示方法是由硬件決定,而不是由C決定的。有三種表示方法:
1、二進制原碼
0000
0001
表示
1
1000
0001
表示
-1
這個方法有個缺點是有兩個零:
+0
和
-0。這會引起混淆,而且用兩個位組合來表示一個值也有些浪費。
2、二進制補碼(最普遍的系統)
區別在于
singned
和
unsigned:
1)如果是無符號字節,
1000
0000
該組合為
128
2)如果是有符號字節,
1000
0000
該組合為
-128
第一種表示數的范圍是
~
255;
第二種表示數的范圍是
-128
~
+127,對于一個二進制補碼數取負數,最簡單的方法就是取反、加
1。
3、二進制反碼
通過反轉位組合中的每一位以形成一個數的負數,例如:
0000
0001
表示
1
1111
1110
表示
-1
這種方式也有一個
-0:1111
1111。其范圍是
-127
~
+127。