二進位制
原碼:最高位為符號位,0為正 1為負
正數的原碼 反碼 補碼 都是相同的
反碼:負數的反碼為原碼符號位不變 其它對應變化(1變0 0變1)
補碼:等於 反碼+1
3^-3 =?
運算過程
-3 10000000 00000000 00000000 00000011 原碼
11111111 11111111 11111111 11111100 反碼
先求得-3的補碼
11111111 11111111 11111111 11111101 補碼
得到3的補碼
00000000 00000000 00000000 00000011 補碼
計算得11111111 11111111 11111111 11111110 補碼
11111111 11111111 11111111 11111101 反碼(無法減就到上一位減 前一位加1)
10000000 00000000 00000000 00000010 原碼
-2
c語言的原碼補碼反碼 位運算
有無unsigned 的區別 資料在計算機上儲存是2進製的 第一位是符號位 其餘是資料位 unsigned 是無符號的意思 沒有符號位 全都是資料位 比如unsigned int int 佔4位元組8位在記憶體中 0000 0000 0000 0000 0000 0000 0000 0000 int...
運算(原碼 補碼 反碼)
表示不帶符號向右移動二進位制數,移動後前面統統補0 兩個箭頭表示帶符號移動,沒有 這種運算子,因為左移都是補零,沒有正負數的區別。如 12 的二進位制為 1111 1111 1111 1111 1111 1111 1111 0100 12 3 即帶符號右移3位,結果是 1111 1111 1111 ...
原碼 反碼 補碼運算規則
在學習原碼,反碼和補碼之前,需要先了解機器數和真值的概念.1 機器數 乙個數在計算機中的二進位制表示形式,叫做這個數的機器數。機器數是帶符號的,在計算機用乙個數的最高位存放符號,正數為0,負數為1.比如,十進位制中的數 3 計算機字長為8位,轉換成二進位制就是00000011。如果是 3 就是 10...