計算機的原碼、反碼和補碼幹啥的?

2021-01-11 帶你感受國外的老步

很多人都只知道計算機使用的是二進位,但很少有了解到計算機是以補碼的方式進行存儲數據的。

不過補碼是通過原碼、反碼一步步演變而來的。

原碼

原碼是一種計算機對數字的二進位的定點表示方法。

通常第一位符號位數為0是正,1是負。

反碼

反碼是在原碼的基礎上進一步改進,正數時反碼和原碼一樣,負數時原碼第一位不變,其他都變,就是反碼。

通常一個正數和自身對應的負數的反碼互為補數。

補碼

補碼的正數和反碼以及原碼,普通二進位的一致,沒有區別,而負數實際是在原有負數的反碼上面加1

正數的原碼,反碼,補碼是相同的

為什麼要有這些碼?

原碼不方便進行計算機中有負數參與進來的運算。

計算機存儲數據使用補碼而不是直接用二進位,因為二進位不能表示負數。

原碼雖然能表示負數,但無法進行正負數運算及兩個0的問題。

反碼解決正負數運算的問題,然而還保留著兩個0(正負0)的問題,只有補碼完美解決了正負數運算問題同時還解決了兩個不同符號的0的問題,(在繼續計算時正負0會相互抵消)

因此對於計算機而言,補碼是存儲的最佳選擇。

相關焦點

  • 一個案例搞懂原碼、反碼、補碼,不懂得請看過來
    原碼,反碼,補碼的產生過程,就是為了解決,計算機做減法和引入符號位(正號和負號)的問題。2.反碼正數的反碼與原碼一致;負數的反碼是對原碼按位取反,只是最高位(符號位)不變。如果計算機內部採用原碼來表示數,那麼在進行加法和減法運算的時候,需要轉化為兩個絕對值的加法和減法運算;計算機既要實現加法器,又要實現減法器,代價有點大,那麼可不可以只用一種類型的運算器來實現加和減的遠算呢?
  • 二進位原碼/反碼/補碼詳解,不懂的請看過來
    計算機只識別機器碼,其實也就是二進位數,並且使用最高bit位表示符號位。那麼兩個真值為8和-8的8位整數,它們在計算機內部的機器值是否就分別是00001000和10001000?其實並不是,這只是8和-8的原碼,而機器算計中的機器值是使用補碼存儲和計算的。
  • 計算機中信息的表示與處理
    信息的編碼方式 在計算機中信息都是以0、1兩種數據來表示的,大家都知道,但是就是這兩個簡單的0、1如何實現了計算機的強大計算呢?這就涉及到了計算機中信息的表達和處理。在大學計算基礎課上,開始就涉及了二進位、八進位、十進位、十六進位等進位之間的轉換方式。
  • 數據的表示和運算
    當數碼很大時,書寫不方便,從而引進八進位和十六進位,但是其實計算機內部都是二進位。我們熟悉的十進位如何在計算機中表示呢,比如把十進位數19.6875轉化為二進位。首先整數部分和小數部分需要分開來算。如101001表示29(2)餘3碼:8421碼的基礎上加上十進位3定點數的表示◆ ◆ ◆ ◆無符號數表示:整個機器字長全部二進位均為數值,沒有符號為,相當於數的絕對值,如機器字長為8位,表示範圍為0-2^8-1,即0-255有符號數表示:0表示正號,1表示負號,一般為:原碼、補碼、反碼(1)3種機器數的最高位都為符號位(2)當真值為正數時,原碼
  • 2017年10月自考計算機原理考試真題
    1.計算機主機包括A. CPU和外部設備 B.控制器和內存儲器C.B.原碼C.反碼 D.真值碼7.下列邏輯部件中,不包括在運算器內的是A.累加寄存器 B.狀態條件寄存器C.指令寄存器 D.ALU8.機器指令的執行周期(指令周期)中必定包含A.取操作數機器周期 B.取指令機器周期C.存操作數機器周期 D.尋址機器周期
  • 計算機組成原理題庫2
    A、 原碼 B、 補碼和移碼 C、 反碼 D、 以上都不對答案: B349、在整數定點機中,下述說法正確的是()。A、 原碼和反碼不能表示-1,補碼可以表示-1 B、 三種機器數均可表示-1C、 三種機器數均可表示-1,且三種機器數的表示範圍相同 D、 以上都不對答案: B350、在小數定點機中,下述說法正確的是()。
  • 全國計算機考試題及答案
    A.同軸電纜的信道容量比光纖高很多B.同軸電纜的信道容量比光纖高很多C.有線電視系統進入用戶室內所使用的是同軸電纜D.有線電視系統進入用戶室內所使用的是同軸電纜15.計算機在進行以下運算時,某一位的運算結果可能會受到其它位影響的是—D—操作。
  • 統考計算機組成原理重難點複習指導
    一、考查目標  1、理解單處理器計算機系統中各部件的內部工作原理、組成結構以及相互連接方式,具有完整的計算機系統的整機概念。  2、理解計算機系統層次化結構概念,熟悉硬體與軟體之間的界面,掌握指令集體系結構的基本知識和基本實現方法。
  • 2012計算機大綱解析之計算機組成原理
    一、     大綱變化2012年計算機統考的計算機組成原理部分變化處數較多,主要出現在浮點數、存儲器、指令流水線以及I/O接口,具體如下:2011年大綱2012年大綱變動二、數據的表示和運算二、數據的表示和運算無變化(三) 浮點數的表示和運算(三) 浮點數的表示和運算