反碼是壹種數值存儲,常用於系統環境設置;在計算機系統中,數值總是用補碼來表示和存儲。
原碼是計算機機器號的最簡單形式。數值位是真值的絕對值,符號位“0”表示正數,符號位“1”表示負數。原始代碼也稱為有符號絕對值。為了便於區分整數和小數,整數的符號位和數值位用“,”分隔,小數的符號位和數值位用“.”分隔。
在計算機系統中,數值總是用補碼來表示和存儲。原因是有了補碼,符號位和數值域可以統壹處理;同時,加減法也可以統壹處理。在這樣的系統中,減法問題也可以轉化為加法問題,只需要用相應的補碼來表示減法。將補碼應用於計算機對數的處理就是補碼。
原始代碼的補碼
在以下兩種情況下求給定值的補數:
1,正數
正整數的補碼是它的二進制表示,和原碼壹樣。
例:+9的補碼是00001001。(註:這個+9的補碼是用8位二進制表示的,有很多種表示方式,包括16位二進制,32位二進制,64位二進制。每個補碼表示只能表示有限的數。)
2.負數
求壹個負整數的補碼,將其原碼除符號位外的所有位取反(0變1,1變0,符號位保持1不變)再加1。
同壹個數在不同的補碼表示中是不同的。比如-15的補碼在8位二進制表示中是1110001,但在16位二進制表示中是1165438。以下全部用8位二進制表示。
例:求-5的補數。
-5對應有符號位減5 (1000101) →除有符號位外所有位取反(1111065438)→加00000。
所以-5的補碼是11111011。