計算機為什麼要用反碼,計算機的原碼,反碼,補碼是怎麼回事?可以舉例說明嗎

2021-12-25 17:29:57 字數 2518 閱讀 2183

1樓:wuli小亮仔

用於數值儲存。

反碼是數值儲存的一種,多應用於系統環境設定。

原碼是計算機機器數中最簡單的一種形式,數值位就是真值的絕對值,符號位位「0」時表示正數,符號位為「1」時表示負數,原碼又稱帶符號的絕對值。為了方便整數和小數區別,整數的符號位與數值位之間用「,」隔開,小數的符號位與數值位之間用「.」隔開。

擴充套件資料

所謂原碼就是二進位制定點表示法,即最高位為符號位,「0」表示正,「1」表示負,其餘位表示數值的大小。

反碼表示法規定:

正數的反碼與其原碼相同;負數的反碼是對正數逐位取反,符號位保持為1.對於二進位制原碼10010求反碼:

((10010)原)反=對正數(00010)原含符號位取反= 反碼11101 (10010,1為符號碼,故為負)

(11101) 二進位制= -2 十進位制

2樓:匿名使用者

這是因為在用原始碼進行乘除運算時不會出現問題,但是在進行加減運算時就會出現錯誤,(計算機上是用前面的符號位表示正負的)。如(0)1+(1)1=(1)10=-2顯然這是錯誤的。但是用了反碼就不會出現這種錯誤。

用反碼表示就應該是:(0)1反+(1)0反=(1)1(反)=-0是正確的。這也是為什麼用反碼的原因。

但是在這兒出現了-0,與我們的常識不同,因此計算機中採用了補碼,(正數的補碼不變,負數的補碼為其反碼再加1),這樣便會沒有+0,-0這一情況,而且還簡化了加減運算,可以將減法轉換為加法,即不論是加法還是減法,計算機中一律做加法。

3樓:鬼影森森

因為我們想用計算機來算數,比如36-45

我們可以約定一種表示方法來表示負數,進而計算與負數相關的情況,所以就有反碼和補碼了

計算機的原碼,反碼,補碼是怎麼回事?可以舉例說明嗎?

4樓:王王王小六

原碼、反碼和補碼是計算機中對

數字二進位制的三種表示方法。

1、原碼

原碼(true form)是一種計算機中對數字的二進位制定點表示方法。原碼表示法在數值前面增加了一位符號位(即最高位為符號位):正數該位為0,負數該位為1(0有兩種表示:

+0和-0),其餘位表示數值的大小。

例如:用8位二進位制表示乙個數,+11的原碼為00001011,-11的原碼就是10001011。

2、反碼

反碼是數值儲存的一種,多應用於系統環境設定,如linux平台的目錄和檔案的預設許可權的設定umask,就是使用反碼原理。反碼的表示方法是:正數的反碼與其原碼相同;負數的反碼是對正數逐位取反,符號位保持為1。

例如:[+7]反= 0 0000111 b;

[-7]反= 1 1111000 b。

3、補碼

正數:正數的補碼和原碼相同。負數:

負數的補碼則是符號位為「1」。並且,這個「1」既是符號位,也是數值位。數值部分按位取反後再在末位(最低位)加1。

也就是「反碼+1」。

例如:[+7]補= 0 0000111 b;

[-7]補= 1 1111001 b。

擴充套件資料

原碼、反碼、補碼的轉換方法如下:

(1) 已知原碼,求補碼。

例:已知某數x的原碼為10110100b,試求x的補碼和反碼。

首先通過原碼的首位確定該數字的正負,若為正數,反碼與原碼相同,補碼比原碼在末尾加1;若為負數,求其反碼時,符號位不變,數值部分按位求反;求其補碼時,再在其反碼的末位加1。

(2)已知補碼,求原碼。

按照求負數補碼的逆過程,數值部分應是最低位減1,然後取反。但是對二進位制數來說,先減1後取反和先取反後加1得到的結果是一樣的,故仍可採用取反加1的方法。

5樓:匿名使用者

計算機以二進位制補碼儲存資料

以16位機器為例:

比如83的二

進製碼為:0000 0000 0101 0011由於正數的原始碼、反嗎、補碼,上面的既是原始碼,也是反碼和補碼下面通過負數講解原始碼、反碼、補碼之間的關係以-83為例

先求出-83絕對值的原始碼:0000 0000 0101 0011計算機區分正負數通過判斷最高位符號位,1為負數、0為正數那麼-83的原始碼為:1000 0000 0101 0011反碼在原始碼基礎上按位取反,符號位不變:

1111 1111 1010 1100

補碼在反碼的基礎上加1:1111 1111 1010 1101補碼轉原始碼:補碼基礎上按位取反後加一,符號位在取反時不變,加一時最高位符號位有進製的,進製忽略

取反:1000 0000 0101 0010加1:1000 0000 0101 0011

6樓:匿名使用者

十進位制→ 二進位制(怎麼算?要是不知道看計算機基礎的書去)47   → 101111

有符號的整數    原碼    反碼    補碼47      00101111  11010000  00101111(正數補碼和原碼相同)

-47      00101111  11010000  11010001(負數補碼是在反碼上加1)

計算機命令,什麼是計算機指令

人家問你開啟 登錄檔 的命令,你吧xscan也搬上來了,你不嫌累,我看的還嫌累呢 regedit cmd dos系統 ipconfig 好像是檢視ip之類的msconfig 這個是系統配置實用程式dxdiag dx的檢測 吧 什麼是計算機指令 計算機指令是指揮機器工作的指示和命令,程式是按一定順序排...

什麼是擬態計算機,擬態計算機的與一般計算機區別

老胡上課 騙經費的專案,國際上沒有 擬態計算機 這個概念,你自己讀一下他們寫的東西就知道了,純粹忽悠經費的。補充 其實就是 基於fpga的可重構計算系統 上世紀60年代的概念,已經成熟的技術。國內外都有很多相關 他們給起個新名字,然後去申請經費。 不懂不過這貨在863計劃裡面 大概就是用來內什麼經費...

電腦為什麼叫計算機,計算機為什麼叫做電腦?

因為最早的電腦就是計算功能 最初是以計算巨大數值為目的發明的 電腦最開始的使用就是用來計算的 電腦剛開始是用來處理計算的 最開始只為計算那些複雜的式子 因為最初就是用來計算用的 電子計算機為什麼稱為電腦?電腦的標準名稱為什麼是電子計算機?計算機為什麼叫做電腦?電子計算機是能夠把資訊自動高速儲存和加工...