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,這樣可以簡化計算機的硬體裝置去做複雜的減法。然...