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...