在二進位製碼中,為了區分正負數,採用最高位是符號位的方法來區分,正數的符號位為0、負數的符號位為1。剩下的就是這個數的絕對值部分,可以採用原碼、反碼、補碼3種形式來表示絕對值部分。
原碼最簡單,也最好理解。原碼就是絕對值的二進位制數形式:例如+7的8位二進位制原碼是00000111,-7的8位二進位制原碼是10000111。
但對於二進位制運算而言,原碼的運算不夠方便,當兩個數相加時,先要判斷這兩個數的符號是否相同,符號不同的話,還要判斷哪乙個數的絕對值更大。所以在計算機中,通常都是採用補碼形式。
正整數的補碼與原碼形式相同,例如+7的8位二進位制補碼是00000111;而負整數的補碼則可以通過下列方式得到:將這個負整數的絕對值求反加1,連同符號位1一起表示就可以了。例如-7的8位二進位制補碼:將-7的絕對值7求反加1得1111001,連同符號位1一起就是11111001。
可以練習一下+13和-13的8位二進位制補碼:+13d=00001101,-13d=11110011。
負數二進位制表示
負數在計算機中用補碼表示。這是教科書上到表示,由於時間久遠,又由於上課沒好好學,以至於補碼是啥,在心中沒留下任何到痕跡,補習一下。原碼 整數在記憶體中用原碼表示,即按絕對值大小轉換成二進位制 如 b 00000101 b 是 b 5 b 到二進位制表示 反碼 將二進位制數按位取反,所得的新二進位制數...
負數的二進位制表示
原碼 反碼 補碼 反碼 1 負數的二進位制表示法 比如,假設有一 int 型別的數,值為5,那麼,我們知道它在計算機中表示為 00000000 00000000 00000000 00000101 5轉換成二制是101,不過int型別的數占用4位元組 32位 所以前面填了一堆0。現在想知道,5在計算...
負數的二進位制表示
原碼 正數原碼就是其二進位制。負數的原碼就是其二進位制,並將最高位作為符號位設為1。eg 1 原碼為 1000 0001複數進行運算時用補碼表示負數補碼 負數原碼不考慮最高符號位的原碼的反碼 1 eg 1 的補碼為 1111 1110 反碼 1 1111 1111 在二進位製碼中,為了區分正負數,採...