1樓:鍾離茹雲茅曄
正數的原碼,反碼和補碼都一樣的,而負數就不一樣了!計算機為了讓所有的數都是進行同一個加法運算,就有了原碼,反碼和補碼的產生!負數的補碼等於它的絕對值的原碼取反後得到這個負數的反碼,而在反碼的基礎上加1就變成了這個負數的補碼了!
下面我用8位的來舉例(最高位是符號位):
45原碼:00101101
反碼:00101101
補碼:00101101
-45原碼:10101101
反碼:11010010(原碼取反:符號位不變,而其它0變1,1變0)補碼:11010011(反碼:11010010+1=11010011)
---------------------------------------------
明白了沒有?找這方面的書看看吧!
2樓:孝三詩卻黎
(字長為8位)
整數x的原碼指:其數符位是0表示正,1表示負,其數值部分就是x絕對值得二進位制表示。
如:原=0000
0111
【-7】原=1000
0111
整數x的反碼就是數符為與原碼一樣後面取反(1變0,0變1)如:反=0111
1000
【-7】反=1111
1000
整數x的補碼就是在反碼的基礎上加1
如:補=0111
1001
【-7】補=1111
1001
3樓:於元冬焦自
這是要分正負的,正數的原碼、反碼、補碼都相同;負數的補碼等於其反碼加一。
原碼、反碼和補碼說的都是二進位制形式。比如說10,它的原碼是0000000000001010,反碼、補碼也是它;而負數的則不一樣。比如說-10,求它的補碼的方法如下:
1、取-10的絕對值10;
2、寫10的原碼再取反(取反就是1變0,0變1);
3、反碼再加一。
再總結一下:
10的原碼
0000000000001010(原碼)
取反1111111111110101(反碼)再加一1111111111110110(補碼)清楚了嗎
4樓:須鵬池五琇
1)原碼錶示
原碼錶示法是機器數的一種簡單的表示法。其符號位用0表示正號,用:表示負號,數值一般用二進位制形式表示。設有一數為x,則原碼錶示可記作[x]原。
例如,x1=
+1010110
x2=一1001010
其原碼記作:
[x1]原=[+1010110]原=01010110
[x2]原=[-1001010]原=11001010
在原碼錶示法中,對0有兩種表示形式:
[+0]原=00000000
[-0]
原=10000000
2)補碼錶示
機器數的補碼可由原碼得到。如果機器數是正數,則該機器數的補碼與原碼一樣;如果機器數是負數,則該機器數的補碼是對它的原碼(除符號位外)各位取反,並在未位加1而得到的。設有一數x,則x的補碼錶示記作[x]補。
例如,[x1]=+1010110
[x2]=
一1001010
[x1]原=01010110
[x1]補=01010110
即[x1]原=[x1]補=01010110
[x2]
原=11001010
[x2]
補=10110101+1=10110110
機器數的補碼可由原碼得到。如果機器數是正數,則該機器數的補碼與原碼一樣;如果機器數是負數,則該機器數的補碼是對它的原碼(除符號位外)各位取反,並在未位加1而得到的。設有一數x,則x的補碼錶示記作[x]補。
例如,[x1]=+1010110
[x2]=
一1001010
[x1]原=01010110
[x1]補=01010110
即[x1]原=[x1]補=01010110
[x2]
原=11001010
[x2]
補=10110101+1=10110110
(3)反碼錶示法
機器數的反碼可由原碼得到。如果機器數是正數,則該機器數的反碼與原碼一樣;如果機器數是負數,則該機器數的反碼是對它的原碼(符號位除外)各位取反而得到的。設有一數x,則x的反碼錶示記作[x]反。
例如:x1=
+1010110
x2=一1001010
[x1]原=01010110
[x1]反=[x1]原=01010110
[x2]原=11001010
[x2]反=10110101
反碼通常作為求補過程的中間形式,即在一個負數的反碼的未位上加1,就得到了該負數的補碼。
例1.已知[x]原=10011010,求[x]補。
分析如下:
由[x]原求[x]補的原則是:若機器數為正數,則[x]原=[x]補;若機器數為負數,則該機器數的補碼可對它的原碼(符號位除外)所有位求反,再在未位加1而得到。現給定的機器數為負數,故有[x]補=[x]原十1,即
[x]原=10011010
[x]反=11100101+1
[x]補=11100110
例2.已知[x]補=11100110,求[x]原。
分析如下:
對於機器數為正數,則[x]原=[x]補
對於機器數為負數,則有[x]原=[[x]補]補
現給定的為負數,故有:
[x]補=11100110
[[x]補]反=10011001+1
[[x]補]補=10011010=[x]原+1
[[x]補]補=10011010=[x]原
總結一下,原碼(為負時,正時都不變)全部取反即得到反碼,反碼加
"1"就得到補碼了,就是這麼簡單。
在c語言中,「原碼,反碼和補碼」有什麼不同啊?
5樓:匿名使用者
1)原碼錶示
原碼錶示法是機器數的一種簡單的表示法。其符號位用0表示正號,用:表示負號,數值一般用二進位制形式表示。設有一數為x,則原碼錶示可記作[x]原。
例如,x1= +1010110
x2= 一1001010
其原碼記作:
[x1]原=[+1010110]原=01010110
[x2]原=[-1001010]原=11001010
在原碼錶示法中,對0有兩種表示形式:
[+0]原=00000000
[-0] 原=10000000
2)補碼錶示
機器數的補碼可由原碼得到。如果機器數是正數,則該機器數的補碼與原碼一樣;如果機器數是負數,則該機器數的補碼是對它的原碼(除符號位外)各位取反,並在未位加1而得到的。設有一數x,則x的補碼錶示記作[x]補。
例如,[x1]=+1010110
[x2]= 一1001010
[x1]原=01010110
[x1]補=01010110
即 [x1]原=[x1]補=01010110
[x2] 原= 11001010
[x2] 補=10110101+1=10110110
機器數的補碼可由原碼得到。如果機器數是正數,則該機器數的補碼與原碼一樣;如果機器數是負數,則該機器數的補碼是對它的原碼(除符號位外)各位取反,並在未位加1而得到的。設有一數x,則x的補碼錶示記作[x]補。
例如,[x1]=+1010110
[x2]= 一1001010
[x1]原=01010110
[x1]補=01010110
即 [x1]原=[x1]補=01010110
[x2] 原= 11001010
[x2] 補=10110101+1=10110110
(3)反碼錶示法
機器數的反碼可由原碼得到。如果機器數是正數,則該機器數的反碼與原碼一樣;如果機器數是負數,則該機器數的反碼是對它的原碼(符號位除外)各位取反而得到的。設有一數x,則x的反碼錶示記作[x]反。
例如:x1= +1010110
x2= 一1001010
[x1]原=01010110
[x1]反=[x1]原=01010110
[x2]原=11001010
[x2]反=10110101
反碼通常作為求補過程的中間形式,即在一個負數的反碼的未位上加1,就得到了該負數的補碼。
例1. 已知[x]原=10011010,求[x]補。
分析如下:
由[x]原求[x]補的原則是:若機器數為正數,則[x]原=[x]補;若機器數為負數,則該機器數的補碼可對它的原碼(符號位除外)所有位求反,再在未位加1而得到。現給定的機器數為負數,故有[x]補=[x]原十1,即
[x]原=10011010
[x]反=11100101+1
[x]補=11100110
例2. 已知[x]補=11100110,求[x]原。
分析如下:
對於機器數為正數,則[x]原=[x]補
對於機器數為負數,則有[x]原=[[x]補]補
現給定的為負數,故有:
[x]補=11100110
[[x]補]反=10011001+1
[[x]補]補=10011010=[x]原+1
[[x]補]補=10011010=[x]原
總結一下,原碼(為負時,正時都不變)全部取反即得到反碼,反碼加
"1"就得到補碼了,就是這麼簡單。
6樓:匿名使用者
(字長為8位)
整數x的原碼指:其數符位是0表示正,1表示負,其數值部分就是x絕對值得二進位制表示。
如:原=0000 0111 【-7】原=1000 0111整數x的反碼就是數符為與原碼一樣後面取反(1變0,0變1)如:反=0111 1000 【-7】反=1111 1000整數x的補碼就是在反碼的基礎上加1
如:補=0111 1001 【-7】補=1111 1001
7樓:匿名使用者
這是要分正負的,正數的原碼、反碼、補碼都相同;負數的補碼等於其反碼加一。
原碼、反碼和補碼說的都是二進位制形式。比如說10,它的原碼是0000000000001010,反碼、補碼也是它;而負數的則不一樣。比如說-10,求它的補碼的方法如下:
1、取-10的絕對值10;
2、寫10的原碼再取反(取反就是1變0,0變1);
3、反碼再加一。
再總結一下:
10的原碼 0000000000001010(原碼)取反 1111111111110101(反碼)再加一 1111111111110110(補碼)清楚了嗎
8樓:匿名使用者
正數的原碼,反碼和補碼都一樣的,而負數就不一樣了!計算機為了讓所有的數都是進行同一個加法運算,就有了原碼,反碼和補碼的產生!負數的補碼等於它的絕對值的原碼取反後得到這個負數的反碼,而在反碼的基礎上加1就變成了這個負數的補碼了!
下面我用8位的來舉例(最高位是符號位):
45 原碼:00101101 反碼:00101101 補碼:00101101
-45 原碼:10101101 反碼:11010010(原碼取反:
符號位不變,而其它0變1,1變0) 補碼:11010011(反碼:11010010 +1=11010011)
---------------------------------------------
明白了沒有?找這方面的書看看吧!
原碼反碼和補碼有什麼區別?原碼反碼和補碼區別
關於原碼反碼補碼,您可以借本。計算機組成原理 看看計算機中資料的表示形式。首先更正下樓上的說法,正數的原碼反碼補碼都相同,即0011的反碼也為0011 切記。舉例來說 對於正數3,其二進位制形式為 0011,我們把 0011成為成為真值,在計算機中用0或1表示正負號,那麼 0011在計算機中原碼可以...
在電腦中的原碼,反碼,補碼都是什麼意思啊
第一位是符號位,23的這位是1。23的原碼是10111,前面補兩個0,就是0010111所以 23的原碼就是10010111 反碼就是11101000 補碼就是反碼 1 11101001 1 原碼的定義 原碼錶示法是機器數的一種簡單的表示法。其符號位用0表示正號,用 表示負號,數值一般用二進位制形式...
floor在C語言中是什麼意思,C語言中 c是什麼意思
floor 是c語言中的一個數學函式,意思是向下取整,即取不大於要求值的最大的那個整數 專值。floor原意為地板之意,屬可以助記為數值猶如人處在地板上,取小於該數值的地板。函式標頭檔案 include 函式原型 double ceil double x 函式說明 floor x 返回不大於x的最大...