基礎回顧 1 原碼 反碼和補碼

2021-09-24 07:53:56 字數 1161 閱讀 9634

基本概念:在計算機中,最小單元是 bit,二進位制位。8個bit組成了1個byte ,一位元組。儲存器的最小單元是1個位元組,即 當某個資料,轉化為二進位制資料時,當長度小於8位,計算器分配的仍舊是1位元組的儲存空間。

計算數乙個數在機器中的二進位制表示形式,即為機器數。機器數最高位為符號位,正數為0,負數為1。

比如十進位制數5,在儲存器中用乙個單元儲存時,為0000 0101,如果是-5,則為1000 0101

如果儲存器用兩個單元儲存,則50000 0000 0000 0101-5則為1000 0000 0000 0101

真值帶符號位的機器數對應的真正數值即為機器數的真值。

比如 機器數0000 0101真值為0000 0101 = +000 0101 = + 101

1000 0101的真值為1000 0101 = -000 0101 = -101

原碼乙個數的原碼,就是符號位 + 真值的絕對值。

7的原碼為0000 0111

-7的原碼為1000 0111\

注:正數的原、反、補碼都一樣。

反碼反碼要對正負數進行區分。正數不用變, 負數的反碼需在原碼的基礎上,符號位不變其他位按位取反。

7的反碼為0000 0111

-7的反碼為1111 1000\

補碼補碼也要對正負數進行區分。正數依舊不變,負數的補碼是在其原碼的基礎上, 符號位不變, 其餘各位取反, 最後+1。

7的補碼為0000 0111

-7的補碼為1111 1001

負數的補碼 -> 原碼,只需對負數的補碼進行再補碼。

計算機為什麼用補碼儲存資料,是因為計算機在運算過程中,為了簡化,將符號位也參與了計算過程。

原碼 反碼和補碼

數值有正負之分 計算機就用乙個數的最高位存放符號 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 原 ...