原碼反碼和補碼

2021-08-16 04:45:12 字數 429 閱讀 2108

原碼是機器碼的一種,一般來說,乙個數由乙個位元組表示,8位,總共可以表示從0到255,總共256個數,要想表示負數,所以,從1000 0000 開始來到 1111 1111 來表示負數。所以一般來說8位的數表示大小為(-128到127)。

補碼,因為計算機不擅長算減法,所以想到了數字在計算機中都是以補碼形式存在,正數的補碼是其本身,負數的補碼是2的n+1次方減去該負數的絕對值,(為什麼是2的n+1次方,因為做運算的時候,如果溢位到第九位,第九位直接取消掉)。

對於負數來說,負數補碼和負數絕對值的原碼相加應該為2的n+1次方,所以求負數的補碼為2的n+1次方減去負數的絕對值。

負數的補碼用反碼表示更好表示,反碼可以由觸發器互補輸出端得到,負數的補碼,符號位不變,其餘位取反,得到反碼,反碼加一得到補碼。

【-1】補 + 補 = 256;

【-3】補 + 補 = 256;

原碼 反碼和補碼

數值有正負之分 計算機就用乙個數的最高位存放符號 0為正 1為負 這就是機器數的原碼了 假設機器能處理的位數為 8.即字長為 1byte,原碼能表示數值的範圍為 127 0 0 127 共256個.有了數值的表示方法就可以對數進行算術運算 但是很快就發現用帶符號位的原碼進行乘除運算時結果正確 而在加...

原碼 反碼 和 補碼。

這裡只講下自己對反碼的理解。大家都知道使用反碼表示負數有兩個優點,1.可以使得減法可以和加法一樣。2.符號位也參與了運算。那這是為什麼呢?下面可以進行一些簡單的數學推導 根據反碼定義,對於負數,反碼是除符號為以外取反 1。例如,4 變換步驟如下。a 4 0 000 0100 b 取反 0 111 1...

原碼 補碼和反碼

1 原碼表示法 原碼表示法是機器數的一種簡單的表示法。其符號位用0表示正號,用 表示負號,數值一般用二進位制形式表示。設有一數為x,則原碼表示可記作 x 原。例如,x1 1010110 x2 一1001010 其原碼記作 x1 原 1010110 原 01010110 x2 原 1001010 原 ...