有符號數,補碼,反碼,原碼,0的原碼,補碼,反碼是什麼

2023-07-15 22:06:22 字數 7615 閱讀 8609

1樓:華源網路

定點數分為有符號數(signed)和無符號數(unsigned)。其中,有符號數的表示方法有三種:原碼、反碼和補碼。

反碼錶示法規定:正數的反碼與其原碼相同;負數的反碼是對其原碼逐位取反,但符號位除外。

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

反碼錶示法規定:正數的反碼與其原碼相同;負數的反碼是對其原碼逐位取反,但符號位除外。

原碼10010= 反碼11101 (10010,1為符號碼,故為負)

11101) 二進位制= -13 十進位制。

補碼錶示法規定:正數的補碼與其原碼相同;負數的補碼是在其反碼的末位加1。

1) 原碼:在數值前直接加一符號位的表示法。

例如: 符號位 數值位。

7]原= 0 0000111 b

7]原= 1 0000111 b

注意:a. 數0的原碼有兩種形式:[+0]原=00000000b [-0]原=10000000b

b. 8位二進位制原碼的表示範圍:-127~+127

2)反碼:正數:正數的反碼與原碼相同。

負數:負數的反碼,符號位為「1」,數值部分按位取反。例如: 符號位 數值位。

7]反= 0 0000111 b

7]反= 1 1111000 b

注意:a. 數0的反碼也有兩種形式,即。

0]反=00000000b

0]反=11111111b

b. 8位二進位制反碼的表示範圍:-127~+127

補碼的表示:

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

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

例如: 符號位 數值位。

7]補= 0 0000111 b

7]補= 1 1111001 b

正數的補碼與反碼都與原碼相同,而負數的補碼是反碼+1,符號位為『1』,反碼是逐位取反,符號為為『1』

2樓:做而論道

在計算機系統中,有符號數,一律採用補碼錶示和儲存。

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

0的原碼,補碼,反碼是什麼

3樓:孛海榮覃浩

定義0的原碼反碼和補碼時,要注意計算機辨認這裡的0需要分正0和負0,所以。

8位表示)原碼:00000000

反碼:00000000

補碼:00000000

4樓:戰巨集義廉珠

十進位制的-109的二進位制是:11101101(最高位是符號位)

負數的反碼就是原碼取反:10010010

負數的補碼就是反碼加一:10010011

什麼是一個數的原碼,反碼,補碼

5樓:沙裡波特

計算機中,只用補碼錶示帶符號數。

在計算機中,並不存在原碼反碼。

求補碼,也有更簡單的方法,也用不著原碼反碼。

所以,原碼反碼,都沒有任何用處。

讓人學習原碼反碼,不就是忽悠嗎?

6樓:匿名使用者

原碼,反碼,補碼針對的是定長二進位制儲存器表示的有符號整數。

正數的原碼,反碼,補碼都相同。

負數的原碼最高位為1,其他位為整數的絕對值(零有+0、-0之分)。

負數的反碼最高位為1,其他位為整數的絕對值按位取反(零有+0、-0之分)。

負數的補碼最高位為1,其他位為整數的絕對值按位取反再加一(零沒有+0、-0之分,最常用)。

比如-1的原碼為0x80000001,反碼為0xfffffffe,補碼為0xffffffff。

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

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樓:京安嫻邸暢

1):補碼加法公式。

x+y]補。

x]補。[y]補。

2):補碼減法公式。

x-y]補。

x]補-[y]補。

x]補。[-y]補。

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

10樓:沙裡波特

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

只要掌握了補碼,即可。

小數補碼的定義式:

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

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

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

11樓:沙裡波特

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

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

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

八位二進位制,共有 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。

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

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

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

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

計算機,可不做這些事。

12樓:洋星然偶瑤

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

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

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

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

0011,我們把。

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

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

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

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

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

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

不知您明白了嗎?

13樓:孛海榮覃浩

計算機是按二進位制方式儲存資料的。

在計算機中表示整型資料有以下幾種方法:

1.二進位制補碼。

2.二進位制反碼。

3.偏移表示法。

4.帶符號的數表示法。

帶符號的數表示法最高有效位是符號位,1為負,0為正。比如:00000001為1,10000001為-1

二進位制反碼是簡單地把正數取反就是對應的負數了,比如00000001為1,11111110為-1

二進位制補碼在計算機中比較常用,當表示負數的時候,在原來原碼的基礎上再加1

偏移表示法用一個數與它相減就得到所需的數。top

14樓:位承望以蔚

正數:原碼,補碼,反碼一致。

負數:原碼:-(絕對值原碼)

反碼:原碼除符號位外取反。

補碼:反碼+1

原碼、反碼和補碼

15樓:沙裡波特

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

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

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

其變換規律,可以自己摸索出來。

16樓:做而論道

補碼,其實,就是一個【代替負數進行運算】的正數。

用補碼代替負數之後,計算機中,就不存在負數了。

隨之而來的是,計算機中,也就沒有減法運算了。

即:藉助於補碼,能夠簡化運算。也就可以簡化硬體。

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

且看 2 位 10 進位制的運算:

28 + 99 = 一百) 27

只要忽略進位(10^2),+99 和-1 的功能,就是相同的。

此時,就稱 +99 是-1 的補數。

同理,+98 就是-2 的補數。

求補數的計算公式,你也可以推匯出來:

補數 = 負數 + 10^n, n 是補數的位數。

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

對於 8 位 2 進位制來說,應按照如下公式來求補碼:

計算公式: 補碼= 負數 + 2^n, n 是補碼的位數。

8 位 2 進位制,總共可以構成 2^8 = 256 組補碼。

其中,包括有 128 個負數的補碼。

如下:[-1]補 = 2^8-1 = 255 = 1111 1111 (二進位制)。

2]補 = 2^8-2 = 254 = 1111 1110 (二進位制)。

128]補 = 256-128 = 128 = 1000 0000。

正數,不可變換,必須直接參加運算。

所以,正數,不存在補碼。

原碼和反碼,都沒有簡化硬體的功能。

所以,計算機中,只用補碼,根本就不用原碼和反碼。

求補碼,千萬不要走「原碼反碼符號位取反加一」這條路。

否則,你就不會知道: 何? 為? 補? 碼?

用八位補碼計算:7-5 = 2。

5]補 =

相加

進位,是超出 8 位的,捨棄即可。

由此次計算,也可以看到:

使用了補碼,減法,就轉換成了加法。

原碼反碼,都沒有這種功能。

所以,計算機中,根本就沒有它們的影子。

計算機有符號數的表示方法,原碼 補碼 反碼中最後的那個B是什麼意思

b,是二進位制數的標記。h,是16進位制數的標記。o,是八進位制數的標記,也有用 q 的。十進位制,不標也可,要標就標上 d。字尾b,表示二進位制機器碼。整數的原碼 反碼 補碼是什麼意思?整數的原碼 反碼 補碼是十進位制數在機器裡面的二進位制表示方式。在計算機內,定點數有3種表示法 原碼 反碼和補碼...

數的原碼,反碼,補碼怎麼算一個數的原碼,反碼,補碼怎麼算

數在計算機中是以二進位制形式表示的。數分為有符號數和無符號數。原碼 反碼 補碼都是有符號定點數的表示方法。一個有符號定點數的最高位為符號位,0是正,1是副。以下都以8位整數為例,原碼就是這個數本身的二進位制形式。例如0000001 就是 1 1000001 就是 1 正數的反碼和補碼都是和原碼相同。...

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

相同的,正數的原碼 反碼 補碼。引進補碼的作用是為了讓計算機更方便做減法。例如 按時間12個小時來算,現在的準確時間是4點,有一個表顯示的是7點,如果要校準時間,我們可以將時針退7 4 3格,也可以向前撥12 3 9格,計算機做減法就可以轉化成 3 9,這樣可以簡化計算機的硬體裝置去做複雜的減法。然...