二進位制正,負數的原碼,反碼,補碼三者之間是什麼關係

2021-07-22 23:26:43 字數 4805 閱讀 3396

1樓:小肥楊媽媽

(1)正數的補碼錶示與原碼相同;

(2)負數的補碼是將原碼符號位保持「1」之後,其餘各位按位取反,末位再加1便得到補碼,即取其原碼的反碼再加「1」:[x]補=[x]反+1。;

(3)列出 的8位二進位制原碼,反碼和補碼並將補碼用十六進位制表示。

內容拓展:

一、二進位制

1、是計算技術中廣泛採用的一種數制。二進位制資料是用0和1兩個數碼來表示的數。它的基數為2,進位規則是「逢二進一」,借位規則是「借一當二」,由18世紀德國數理哲學大師萊布尼茲發現。

2、當前的計算機系統使用的基本上是二進位制系統,資料在計算機中主要是以補碼的形式儲存的。計算機中的二進位制則是一個非常微小的開關,用1來表示「開」,0來表示「關」。

二、在計算機中,數的正負號是用0,1表示。

三、真值為正時。其原碼,反碼,補碼完全相同。

四、 真值為負時,其原碼就是把負號改為1,其餘不變。反碼就是負號改為1,其餘取反。

五、補碼就是在反碼的基礎上加1,加1時記得是逢2進1。

2樓:

近至正負的原碼,反碼補碼三者之間的關係是正碼和駙馬他倆是相反的,賦碼和正碼是相輔相成的。

3樓:紫水晶

原碼就是原來上多少就是多少了啊,反碼就是正炒負,負產正,補碼就是釐米變一,一變零,這就是這樣吧,很容易記得把,常用就好了。

4樓:gta小雞

正數的原碼、補碼和反碼相同。

負數的反碼等於原碼按位取反,補碼等於反碼加1。

5樓:希賽教育

以8位二進位制為例,

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

負數的反碼為:除符號位外,原碼各位取反,反碼加1,得負數的反碼.

下面就對於原碼,反碼,補碼詳細分析一下:

原碼:將一個整數,轉換成二進位制,就是其原碼。如單位元組的5的原碼為:0000 0101;-5的原碼為1000 0101。

反碼:正數的反碼就是其原碼;負數的反碼是將原碼中,除符號位以外,每一位取反。如單位元組的5的反碼為:0000 0101;-5的反碼為1111 1010。

補碼:正數的補碼就是其原碼;負數的反碼+1就是補碼。如單位元組的5的補碼為:0000 0101;-5的原碼為1111 1011。

在計算機中,正數是直接用原碼錶示的,如單位元組5,在計算機中就表示為:0000 0101。

負數用補碼錶示,如單位元組-5,在計算機中表示為1111 1011。

6樓:暖憶江南

可以通過原碼、反碼和補碼三者的含義及關係來介紹三者之間的換算關係:1、原碼原碼就是符號位加上真值的絕對值,即用第一位表示符號,其餘位表示值。比如如果是8位二進位制:

[+1]原=00000001[-1]原=10000001第一位是符號位。2、反碼正數的反碼是其本身負數的反碼是在其原碼的基礎上,符號位不變,其餘各個位取反.[+1]=[00000001]原=[00000001]反[-1]=[10000001]原=[11111110]反第一位是符號位。

3、補碼正數的補碼就是其本身負數的補碼是在其原碼的基礎上,符號位不變,其餘各位取反,最後+1.(即在反碼的基礎上+1)[+1]=[00000001]原=[00000001]反=[00000001]補[-1]=[10000001]原=[11111110]反=[11111111]補第一位是符號位。注:

補碼的補碼等於原碼,如:-1的補碼為11111111,則11111111的反碼為10000000補碼為10000001(-1的原碼)。

7樓:匿名使用者

倒數第三行有誤,應該是「-5的補碼為1111 1011」,原文寫為「原碼」,係為筆誤。

對於正數,其原碼、反碼、補碼是相同的嗎

8樓:丶兔牙媽媽

相同的,正數的原碼=反碼=補碼。引進補碼的作用是為了讓計算機更方便做減法。

例如:按時間12個小時來算,現在的準確時間是4點,有一個表顯示的是7點,如果要校準時間,我們可以將時針退7-4=3格,也可以向前撥12-3=9格,計算機做減法就可以轉化成-3=+9,這樣可以簡化計算機的硬體裝置去做複雜的減法。

然而得到補碼的定義:正數時仍為正,而負數x求補要從2減去|x|。本就為了簡化減法引進的補碼,結果在求補的過程中還是出現減法。

這樣,再引進了反碼錶示法方便求補。補碼反碼就是為了簡化減法而來的,將減號化為負數,再將負數化為補碼求加法,跟正數沒關係。所以不管是正整數還是正小數,原碼,反碼,補碼都全部相同。

原碼是一種計算機中對數字的二進位制定點的表示方法。原碼是指一個二進位制數左邊加上符號位後所得到的碼,且當二進位制數大於0時,符號位為0;二進位制數小於0時,符號位為1;二進位制數等於0時,符號位可以為0或1。原碼是有符號數的最簡單的編碼方式,便於輸入輸出,但作為**加減運算時較為複雜。

數值位表示真值的絕對值。凡不足n-1位的,小數在最低位右邊加零;整數則在最高位左邊加零以補足n-1位。**中的小數點」.

」是在書寫時為了清晰起見加上去的,在機器中並不出現。

補碼在計算機系統中,數值一律用補碼來表示和儲存。原因在於,使用補碼,可以將符號位和數值域統一處理;同時,加法和減法也可以統一處理。此外,補碼與原碼相互轉換,其運算過程是相同的,不需要額外的硬體電路。

計算機中的符號數有三種表示方法,即原碼、反碼和補碼。三種表示方法均有符號位和數值位兩部分,符號位都是用0表示「正」,用1表示「負」,而數值位,三種表示方法各不相同。對於計算機,其概念和方法完全一樣。

n位計算機,設n=8,所能表示的最大數是11111111,若再加1成為100000000(9位),但因只有8位,最高位1自然丟失。又回了00000000,所以8位二進位制系統的模為2^8。在這樣的系統中減法問題也可以化成加法問題,只需把減數用相應的補數表示就可以了。

把補數用到計算機對數的處理上,就是補碼。

反碼是數值儲存的一種,但是由於補碼更能有效表現數字在計算機中的形式,所以多數計算機都不採用反碼錶示數。

9樓:千祺瑞

答:對於正數,其原碼、反碼、補碼事實應該是相同的。

10樓:指間的極光

是的,對於正數來說,其二進位制原碼,反碼,補碼均為相同的,為原碼的形式。

11樓:匿名使用者

解決了加減運算的問題,但還是有正負零之分,然後就到補碼了 補碼是什麼? 正數的補碼與原碼相同,負數的補碼為 其原碼除符號位外所有位取反(得到反碼了),然後最低

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

12樓:王王王小六

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

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

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的方法。

13樓:匿名使用者

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

以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

14樓:匿名使用者

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

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

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

用八位二進位制數表示 128的原碼,反碼,補碼,求指點

8位字長整數 bai 原碼範圍du 1111 1111b zhi0111 1111b 真值dao範回圍 111 1111b 111 1111b,即 127d 127d 反碼範答圍 1000 0000b 0111 1111b真值範圍 111 1111b 111 1111b,即 127d 127d 補碼...

請問二進位制數 10101100的補碼,原碼反碼是什麼,謝謝

10101100是補碼吧 反碼 原碼取反 符號位不改變 補碼 反碼 1 你自己想想吧,直接告訴你答案你以後還是不懂的!兄弟,負數的二進位制形式不是這樣的 負數的二進位制形式首位永遠都是1,沒有十進位制數的符號形式。如果你說的那個數的原碼是110101100反碼為101010011 補碼為101010...

二進位制負數的絕對值怎麼求,二進位制補碼為負數,求這個負數的絕對值怎麼求

一般情況下,二進位制表示負數不會使用補碼的,補碼只在計算機內部使用。如果有人說 1000 0001 是負數,意思就是 1。因此,取絕對值將最高位清0就可以了 二進位制補碼為負數,求這個負數的絕對值怎麼求?00110010 10000011 10110101,已經說明這是二進位制補碼,所以最高位為1的...