原碼,反碼和補碼之間有怎樣的計算關係

時間 2021-10-28 11:29:11

1樓:匿名使用者

原碼, 反碼, 補碼的基礎概念和計算方法.

在探求為何機器要使用補碼之前, 讓我們先了解原碼, 反碼和補碼的概念.對於一個數, 計算機要使用一定的編碼方式進行儲存. 原碼, 反碼, 補碼是機器儲存一個具體數字的編碼方式.

1. 原碼

原碼就是符號位加上真值的絕對值, 即用第一位表示符號, 其餘位表示值. 比如如果是8位二進位制:

[+1]原 = 0000 0001

[-1]原 = 1000 0001

第一位是符號位. 因為第一位是符號位, 所以8位二進位制數的取值範圍就是:

[1111 1111 , 0111 1111]

即[-127 , 127]

原碼是人腦最容易理解和計算的表示方式.

2. 反碼

反碼的表示方法是:

正數的反碼是其本身

負數的反碼是在其原碼的基礎上, 符號位不變,其餘各個位取反.

[+1] = [00000001]原 = [00000001]反

[-1] = [10000001]原 = [11111110]反

可見如果一個反碼錶示的是負數, 人腦無法直觀的看出來它的數值. 通常要將其轉換成原碼再計算.

3. 補碼

補碼的表示方法是:

正數的補碼就是其本身

負數的補碼是在其原碼的基礎上, 符號位不變, 其餘各位取反, 最後+1. (即在反碼的基礎上+1)

[+1] = [00000001]原 = [00000001]反 = [00000001]補

[-1] = [10000001]原 = [11111110]反 = [11111111]補

對於負數, 補碼錶示方式也是人腦無法直**出其數值的. 通常也需要轉換成原碼在計算其數值。

2樓:沙裡波特

帶符號的數字,可變成各種**(八位的),見圖:

但是,在計算機中,原碼和反碼都是不存在的。

因此,就不必關心它們了。

只有補碼,才是實用的編碼。

其變換規律,你看看圖,就可以自己摸索出來。

3樓:匿名使用者

原碼 正數的符號位為0,負數的符號位為1,其它位按照一般的方法來表示數的絕對值。用這樣的表示方法得到的就是數的原碼。

反碼 對於一個帶符號的數來說,正數的反碼與其原碼相同,負數的反碼為其原碼除符號位以外的各位按位取反。

補碼 正數的補碼與其原碼相同,負數的補碼為其反碼在最低位加1

4樓:

一、原碼

求原碼:x≥0,則符號位為0,其餘照抄;

x≤0,則符號位為1,其餘照抄。

【例1】x=+1001001 [x]原 = 01001001【例2】x=-1001001 [x]原 = 11001001二、反碼

求反碼:若x≥0,符號位為0,其餘照抄;

若x≤0,符號位為1,其餘按位取反。

【例3】x=+1001001 [x]反 = 01001001【例4】x=-1001001 [x]反 = 10110110三、補碼

求補碼:若x≥0,符號位為0,其餘照抄;

若x≤0,符號位為1,其餘取反後,最低位加1。

【例5】x=+1001001 [x]補 = 01001001【例6】x=-1001001 [x]補 = 10110111

計算機中原碼,反碼,補碼之間的關係?

5樓:匿名使用者

原碼:就是原碼,真實的碼

反碼:在原碼的基礎上,符號位不變,數值位按位取反補碼:1)正數的補碼:與原碼相同。

【例1】+9的補碼是00001001。

(2)負數的補碼:符號位為1,其餘位為該數絕對值的原碼按位取反然後整個數加1。

6樓:

計算機中有原碼和反碼嗎?計算機原碼反碼補碼怎麼算

計算機中,並沒有原碼和反碼,只是使用補碼,代表正負數。使用補碼的意義 可以把減法或負數,轉換為加法運算。從而簡化計算機的硬體。比如鐘錶,時針轉一圈,週期是 12 小時。倒撥 3 小時,可以用正撥 9 小時代替。9,就稱為 3 的補數。計算方法 12 3 9。對於分針,倒撥 x 分,就可以用正撥 60...

C語言中,原碼,補碼和反碼怎麼換算?

換算方法如下 1 數在計算機中是以二進位制形式表示的。2 數分為有符號數和無符號數,原碼 反碼 補碼都是有符號定點數的表示方法。3 一個有符號定點數的最高位為符號位,0是正,1是副 原碼 就是這個數本身的二進位制形式。4 正數的 反碼 和補碼都是和原碼相同 負數的 反碼 是將其原碼除符號位之外的個位...

二進位制數原碼反碼補碼計算,二進位制數原碼反碼補碼計算

行使 反碼 本人認為就是一個互換原理 如 7的8b 用二進位制表示為00000111b。在00000111b 中把5個 零 互換成1.而3個1互換成 零 就可得到00000111b的反碼11111000b 原碼 00000111b最高位 n 1 置為1.得原碼為10000111b。而補碼 是在 反碼...