原碼 反碼 補碼的介紹,原碼 反碼 補碼的基本概念

2023-06-06 19:35:02 字數 7401 閱讀 1056

1樓:做而論道

在計算機系統中,數值,一律採用補碼表示和儲存。

原碼和反碼,都是不存在的。

補碼,是乙個「代替負數」的正數。

使用了補碼,計算機中就沒有負數了,同時,也就沒有減法運算了。

因此,使用補碼,就能簡化運算,從而就簡化了硬體。

補碼(正數),怎麼就能代替負數呢?

用十進位制來說明,其原理就十分簡單。

用 2 位 10 進製數,可有下列的算式:

25 + 99 = 一百) 24

如果你只取 2 位數,捨棄超出的進製,+99 就能代替-1 !

加法,也就代替了減法。

同樣,+98 也能代替-2。

這些正數,就可稱為:「負數的補數」。

計算公式:補數=負數+10^2。

其中:10^2 = 100,是 2 位 10 進製數的計數週期。

計算機用二進位制,補數,就稱為「補碼」了。

8 位 2 進製數,計數週期就是:2^8 = 256。

1 的補碼就是:-1 + 256 = 255 = 1111 1111 (二進位制)。

2 的補碼就是:254 = 1111 1110 (二進位制)。

老外數學不好,弄不懂原理,才編造了「原碼反碼取反加一 ..

其實,原碼反碼,在計算機中,並不使用,也根本就不存在。

計算機老師卻很愛講這些沒用的「知識」,這就是鐵飯碗哪!

2樓:世紀網路

引用。宣告。

1、機器數2、真值原碼的介紹原碼就是符號位加上真值的絕對值, 即用第一位表示符號, 其餘位表示值。

用原碼儲存資料反碼的介紹反碼顧名思義就是反著來,當然,這裡需要注意一點就是:

用反碼儲存資料驗證補碼的介紹用補碼的形式進行儲存

原碼、反碼、補碼的基本概念

3樓:匡金後方

原碼:乙個整數,按照絕對值大小轉換成的二進位製數,稱為原碼。

比如00000000

00000101是5的。

原碼。反碼:將二進位製數按位取反,所得的新二進位製數稱為原二進位製數的反碼。

取反操作指:原為1,得0;原為0,得1。(1變0;

0變1)比如:將00000000

00000101每一位取反,得1111111111111111

稱:11111111

是00000000

的反碼。反碼是相互的,所以也可稱:

和00000000

互為反碼。補碼:反碼加1稱為補碼。

也就是說,要得到乙個數的補碼,先得到反碼,然後將反碼加上1,所得數稱為補碼。

比如:00000000

的反碼是:11111111

那麼,補碼為:

所以,-5在計算機中表達為:11111111

11111011。轉換為十六進位制:0xfffffffb。

再舉一例,我們來看整數-1在計算機中如何表示。

假設這也是乙個int型別,那麼:

1、先取1的原碼:00000000

2、得反碼:

3、得補碼:

正數的原碼,補碼,反碼都相同,都等於它本身負數的補碼是:符號位為1,其餘各位求反,末位加1反碼是:符號位為1,其餘各位求反,但末位不加1也就是說,反碼末位加上1就是補碼。

原1011001100

反除符號位,按位取反。

補除符號位,按位取反再加1

4樓:沙里波特

帶符號數,有三種表示方法,即:原碼、反碼和補碼。

但是,在計算機系統中,數值一律用補碼來表示和儲存。

所以,在計算機系統中,原碼和反碼,都是不存在的。

使用補碼的意義:可以把減法或負數,轉換為加法運算。

從而簡化計算機的硬體。

補碼的概念,來自於:補數。

比如鐘錶,時針轉一圈,週期是 12 小時。

那麼,倒撥 3 小時,可以用正撥 9 小時代替。

9,就是-3 的補數。 計算方法:

同理,分針倒撥 x 分,可以用正撥(60-x)代替。

60,是分針的週期。

同理,三角函式的週期是 2π。那麼,在-π/2 處的函式值,就與(2π-π2)= 3π/2 處相同。

使用兩位十進位製數:0~99,週期就是 一百。

那麼,減一,就可以用 +99 代替。

捨棄進製,這兩種演算法,功能就是相同的。

於是,99 就是 -1 的補數。

其它負數的補數,可以按照下式來求:

補數 = 週期 + 負數

計算機中使用二進位制,補數,就改稱為【補碼】。

八位二進位制是:0000 0000~1111 1111。

相當於十進位制:0~255, 週期就是 256。

那麼,-1,就可以用 255 = 1111 1111 代替。

所以:-1 的補碼,就是 1111 1111 = 255。

同理:-2 的補碼,就是 1111 1110 = 254。

繼續:-3 的補碼,就是 1111 1101 = 253。

最後:-128 的補碼,就是 1000 0000 = 128。

負數補碼的計算公式:【 256 + 這個負數 】。

式中的 256 = 2^8,是八位補碼的週期。)

正數,並不存在補碼。所以,也不用求補碼,直接運算即可。

也有人亂說:正數本身就是補碼。)

用計算機計算: 7-3 = 4。

計算機中,並沒有減法器,必須改用補碼相加。

豎式如下:7 的補碼=

3的補碼=

相加---得: (1)= 4 的補碼。

捨棄進製,只保留八位,結果完全正確。

借助於補碼,可以簡化計算機的硬體。

原碼和反碼,並沒有這種功能。

所以,在計算機中,根本就沒有它們。

它們都是什麼? 就不用關心了。

什麼是原碼、反碼、補碼?

5樓:京安嫻邸暢

1):補碼加法公式。

x+y]補。

x]補。[y]補。

2):補碼減法公式。

x-y]補。

x]補-[y]補。

x]補。[-y]補。

其中:[-y]補稱為負補,求負補的辦法是:對補碼的每一位(包括符合位)求反,且未位加1.

6樓:沙里波特

計算機中,只有補碼,沒有原碼反碼。

只要掌握了補碼,即可。

小數補碼的定義式:

x]補 = x ; 0 ≤ x < 1[x]補 = 2+x ; 1 ≤ x < 0例如:x = 1000, 則 [x]補 = 0010 1000。

x = 1000, 則 [x]補 = 1100 1000。

原碼,反碼,補碼的定義是什麼。

7樓:沙里波特

有符號數,有三種表示方法,即原碼、反碼和補碼。

但是,在計算機系統中,數值一律用補碼來表示和儲存。

所以,在計算機系統中,原碼和反碼,都是不存在的。

想要理解補碼,要先從補數開始。

鐘錶的時針轉一圈,週期是 12 小時。

倒撥 3 小時,就可以用正撥 9 小時代替。

9 就是-3 的補數。 9 = 12-3。

同理,分針倒撥 x 分,就可以用正撥(60-x)代替。

60 是分針的週期。

對於兩位十進位制 0~99,週期就是一百。

這時,減一,你就可以用 +99 代替。

結果取兩位,捨棄進製。這兩種演算法,功能就是相同的。

99,就稱為-1 的補數。

98,就是-2 的補數。

負數的補數 = 週期 + 該負數。

利用補數,就可以用加法,代替減法運算。

正數,不需要求補數。

計算機使用二進位制,補數,就改稱:補碼。

八位二進位制,共有 256 個數字。負數的補碼 = 256+該負數。

16 位二進位制,共有 2^16 個數字。負數的補碼 = 65536+ 該負數。

這就是補碼的定義式。在你的書上,一定能找到這種算式。

在八位時:1 的補碼是:256-1 = 255 = 1111 1111(二進位制)。

2 的補碼是:254 = 1111 1110。

3 的補碼是:253 = 1111 1101。

128 補碼:128 = 1000 0000。

有了補碼,計算機僅需要乙個加法器,就可以加減通用了。

而原碼和反碼,不具備這種能力。

所以,原碼和反碼,究竟是怎麼定義,就不必關心了。

因為,它們,毫無用處。

8樓:沐閔馬佳晉

原碼:在數值前直接加一符號位的表示法。對於8位二進位制來說:+7]原=

7]原=反碼:正數的反碼與原碼相同。

負數的反碼,符號位為「1」,數值部分按位取反。+7]反=

7]反=補碼:正數的補碼和原碼相同。

負數的補碼則是符號位為「1」,數值部分按位取反後再在末位(最低位)加1。也就是「反碼+1」。+7]補=

7]補=

原碼,反碼,補碼的編碼規則?

9樓:沙里波特

計算機中,並沒有原碼和反碼。

正負資料,在計算機中,只是以補碼存放的。

下面以八位二進位制來說明補碼的編碼規則。

八位二進位制,共有 256 個補碼。

數字 0,就是以 0000 0000 存放。

數字 1,就是加上 1,得 0000 0001。

其它,繼續加,就行了。

數字 127,就是 0111 1111。

以上就是 0~127 的補碼。

負數,遞減就行了。

數字-1,就從 0,減去一,即:

0000 0000-1 = 借位 1) 1111 1111。

只保留八位,就是 1111 1111 (十進位制 255)。

數字-2,就再減一,得:1111 1110 (=254)。

數字-3,就再減一,得:1111 1101 (=253)。

其它,繼續減,即可。

數字-128,最後就得到:1000 0000 (=128)。

以上這些,就是-1~-128 的補碼。

計算公式:

負數的補碼=【256+該負數】

正數的補碼,就是正數本身

如果需要二進位制,你自己再變換。)

八位補碼可以表示:-128~+127。

用補碼代替負數,就可以把減法,轉換為加法運算。

因此,計算機只要有乙個加法器,就夠用了。

例如: 7-3 = 4。

用補碼的計算過程如下:

7 的補碼=

3的補碼=1

相加

得:= 4 的補碼。

捨棄進製,只保留八位作為結果,就是 4。

這就用加法,解決了負數以及減法的問題。

原碼和反碼,並沒有這些功能。

所以,在計算機中,根本就沒有原碼和反碼。

所謂的「取反加一」,由誰算呢?

計算機,可不做這些事。

10樓:洋星然偶瑤

關於原碼反碼補碼,您可以借本。

計算機組成原理》看看計算機中資料的表示形式。

首先更正下樓上的說法,正數的原碼反碼補碼都相同,即0011的反碼也為0011

切記。舉例來說:對於正數3,其二進位制形式為。

0011,我們把。

0011成為成為真值,在計算機中用0或1表示正負號,那麼。

0011在計算機中原碼可以表示為00011(第一位為符號位)。反碼補碼不變。

對於負數,反碼即按位取反,比如10011可表示-3,10011為原碼,那麼符號位不變,其餘位按位取反即反碼11100.

補碼的存在是為了簡化計算的,其符號位一起參加運算,從而對於減法可轉化為加法。補碼的實質就是mod2。比如我們的鐘錶是mod12的,那麼14點鐘我們也可以說是下午2點。

獲得補碼的方法是「按位取反,末位加1」那麼10011的補碼便是11101.。。

機器數即數值在計算機中的表示形式。

不知您明白了嗎?

正負數的原碼,補碼,反碼求法,補碼 原碼 反碼怎麼運算的啊 詳細一點

正數的原碼,反碼,補碼都是一樣的。負數的原碼你應該知道的,就是帶符號位的二進位製數。反碼,符號位不變為1,其他每位二進位製數取反,1變0,0變1.補碼就是在反碼的基礎上,符號位不變,最低位加1,得到補碼。這裡有個簡單的求補碼的方法,從原碼的最低位向最高位看去,遇到第乙個1前,保持不變,第乙個1前面的...

原碼 反碼 補碼 按位取反( )

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

補碼1 0110求原碼 反碼和N

3全部已知 n 補碼 1.0110,n 原碼 1.1010,n 反碼 n 0.1010。已知乙個數的補碼,求原碼的操作其實就是對該補碼再求補碼 如果補碼的符號位為 0 表示是乙個正數,其原碼就是補碼。如果補碼的符號位為 1 表示是乙個負數,那麼求給定的這個補碼的補碼就是要求的原碼。所以 n 原碼 1...