1樓:科創
原碼:是指將最高位作為符號位(0表示正,1表示負),其它數字位代表數值本身的絕對值的數字表示方式。
例如:數字6 在計算機中原碼錶示為:0 000 0110
其中,第一個數字0是符號位,0表示正數,0 000110是數字6的二進位制資料表示。
數字-6 在計算機中原碼錶示為:1 000 0110
以上是在8位計算機中的原碼錶示,反碼錶示規則為:如果是正數,則表示方法和原碼一樣;如果是負數,符號位不變,其餘各位取反,則得到這個數字的反碼錶示形式。
例如,數字6 在8位 計算機中的反碼就是它的原碼:00000110
數字-6 在 8位計算機中的反碼為:11111001
補碼是計算機表示有號資料的一般方式,其規則為:如果是正整數,則表示方法和原碼一樣。
如果是負數,則將數字的反碼加上1(相當於將原碼數值位取反然後在最低位加1)。
例如:數字6 在8位 計算機中的補碼就是它的原碼:00000110
數字-6 在8 位 計算機中的補碼系統中為:1111 1010
如果數字 -6再取補碼是(0000 0101+1)=0000 0110 ( 6)
減法通常轉化為加法進行運算,將被減數與減數的補碼進行加法運算,即可得出差。
舉例:15-5計算方法:
11 1111 111(進位)
ps: 補碼之所以會存在,是為了讓負數變成能夠進行『+』運算的整數。在計算機系統中,數值一律用補碼來表示和儲存。
原因在於,使用補碼,可以將符號位和數值域統一處理;同時,加法和減法也可以統一處理。此外,補碼與原碼相互轉換,其運算過程是相同的,不需要額外的硬體電路。負0與正0的表示方法相同。
注意:0的反碼、補碼都為零。
在用補碼方式表示n位帶符號整數時,最大數為2的n次方-1,最小數為負的2的(n-1)次方。以8bits為例,最大數為127(對應的二進位制數01111111),最小數為-128(對應的二進位制數為10000000)。由於計算機中存在位數的限制,整數溢位的問題就是不可避免的。
總結起來,整數的加法運算會產生以下幾種情況。
兩個正數相加,如果最高位變成了1,則產生了正溢位。
兩個負數相加,如果最高位變成了0,則產生了負溢位。
一正一負相加,不會產生溢位。
2樓:做而論道
計算機,使用二進位制數。
八位二進位制數是:0000 0000~1111 1111。
這些二進位制數,都是正整數。
那麼,把它們換算成十進位制,就是:0~255。
在不同應用場合,它們可以代表:數字、英文字元、漢字、聲音、影象。。。
在計算機系統中,數值,一律採用補碼錶示和儲存。
原碼和反碼,在計算機中,都是不用的。
只要掌握「數值與補碼」的換算,就可以了。
真值,又是什麼呢?
是「true form」嗎? 這就是原碼。是沒有用的垃圾。
8 位補碼代表的數值,可見下表:
計算機原碼反碼補碼怎麼算
3樓:象拔蚌燒賣
計算機原碼反碼補碼計算方法:
1、原碼。原碼就是符號位加上真值的絕對值,即用第一位表示符號,其餘位表示值。比如如果是8位二進位制:
1]原 = 0000 0001
1]原 = 1000 0001
第一位是符號位。 因為第一位是符號位, 所以8位二進位制數的取值範圍就是:[1111 1111 , 0111 1111]
即[-127 , 127]
原碼是人腦最容易理解和計算的表示方式。
2、反碼。反碼的表示方法是:正數的反碼是其本身。負數的反碼是在其原碼的基礎上, 符號位不變,其餘各個位取反。
1] =00000001]原 = 00000001]反。
1] =10000001]原 = 11111110]反。
可見如果一個反碼錶示的是負數,人腦無法直觀地看出來它的數值。通常要將其轉換成原碼再計算。
3、補碼。補碼的表示方法是:正數的補碼就是其本身。負數的補碼是在其原碼的基礎上,符號位不變,其餘各位取反,最後+1。(即在反碼的基礎上+1)。
1] =00000001]原 = 00000001]反 = 00000001]補。
1] =10000001]原 = 11111110]反 = 11111111]補。
對於負數,補碼錶示方式也是人腦無法直**出其數值的。通常也需要轉換成原碼在計算其數值。
4樓:沙裡波特
計算機中,並沒有原碼和反碼,只是使用補碼,代表正負數。
使用補碼的意義:可以把減法或負數,轉換為加法運算。從而簡化計算機的硬體。
比如鐘錶,時針轉一圈,週期是 12 小時。
倒撥 3 小時,可以用正撥 9 小時代替。
9,就稱為-3 的補數。
計算方法:12-3 = 9。
對於分針,倒撥 x 分,就可以用正撥 60-x 代替。
如果,限定了兩位十進位制數 (0~99),週期就是 100。
那麼,減一,就可以用 +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+這個負數。
正數,直接運算即可,不需要求補碼。
也可以說,正數本身就是補碼。
補碼的應用如: 7-3 = 4。
用補碼的計算過程如下:
7 的補碼=
3的補碼=
相加
得: (1)= 4 的補碼。
捨棄進位,只保留八位,作為結果即可。
這就是:使用補碼,加法就代替了減法。
所以,在計算機中,有一個加法器,就夠用了。
原碼和反碼,都沒有這種功能。
原碼和反碼,毫無用處。計算機中,根本就沒有它們。
計算機如何區別原碼與補碼
5樓:匿名使用者
計算機沒辦法區分任何檔案形式的存在,本質上就是超多的高低電路在做布林運算
不管是原碼,反碼,補碼都是以二進位制的形式轉換而來,為什麼用二進位制,就是為了契合計算機的高低電路,所有的計算數都是以補碼轉成高低電路的,在做電路計算。
開發人員(10進位制)--編譯器(2進位制)--作業系統(補碼)--計算機硬體(高低電路)
這麼描述比較通俗,但不嚴謹,真的感興趣可以從作業系統和資料結構入手。
6樓:網友
原碼就是早期用來表示數字的一種方式: 一個正數,轉換為二進位制位就是這個正數的原碼。負數的絕對值轉換成二進位制位然後在高位補1就是這個負數的原碼。
正數的補碼與原碼相同,負數的補碼為 其原碼除符號位外所有位取反(得到反碼了),然後最低位加1.正數的反碼和補碼都與原碼相同。
負數的反碼為對該數的原碼除符號位外各位取反。
負數的補碼為對該數的原碼除符號位外各位取反,然後在最後一位加1
7樓:沙裡波特
使用補碼的意義在於:可把負數變正數,可把減法變加法。
從這個實用性來講,計算機中,只是用補碼。原碼根本就不存在。
計算機,是執行程式的。程式,都是由人,編寫的。
所以,不是計算機來區別原碼、補碼。
而是由人,來區別。
如果限定,只是使用兩位十進位制數 0~99,共有一百個。
那麼,減一,就可以用 +99 代替:
只保留兩位,忽略進位,結果就是相同的。
99,就稱為-1 的補數。
看到了嗎? 出現了進位。
如果你忽略了進位,實際上就是減法運算!
--這時,99 就是補數,是當做-1 來用的。
如果不忽略進位,結果就是 1 百 23,這還是加法運算。
此時,99,就是正常的數字。
一個**,到底是原來的數字,還是代表負數?
就看你怎麼對待它了。
這些都是由程式設計人,來決定。
計算機,它才不管這些。
8樓:匿名使用者
正負整數都用補碼進行儲存,0開頭就是正整數 補碼=原數的二進位制,1開頭就是負整數,再補碼一次就是原碼的二進位制。
9樓:匿名使用者
個人的理解重心主要要搞清為什麼有原碼/反碼/補碼。
為什麼會出現這三種編碼制式?
你肯定是這個沒搞清,這個搞清楚了,不存在什麼區不區分的問題。
為什麼計算機中帶符號數採用補碼錶示
10樓:做而論道
為什麼用補碼錶示負數?
原理:用加法運算,也可以產生減法的效果。
目的:簡化計算機的硬體。在兩位數之內,+99,就可以代替-1。
如: 24 - 1 = 23
只取兩位,這兩種演算法,功能就是相同的。
加上 99,就相當於,減一!物極必反,聽說過吧?
99,就是-1 的補數。鐘錶的分針,正撥 59,也相當於倒撥 1 分鐘!
計算機用二進位制,補數,就改稱為:補碼。
八位二進位制:0000 0000~1111 1111(十進位制255)。
255(=1111 1111),就是-1 的補碼。
254(=1111 1110),就是-2 的補碼。
負數的補碼 = 2^n + 該負數。(n 是二進位制的位數。)
藉助於補碼,在計算機中,只需配置一個加法器,即可。
正數,沒有補碼,直接參加計算即可。
11樓:煙雅美奇原
爭議因為計算機中用補碼錶示帶符號數時,減法運算可以變成加負數,而負數用補碼錶示後,可以直接按二進位制數進行加法運算。這樣適應計算機硬體加法器進行運算。
12樓:信曼寒蕢飲
採用補碼運算具有如下兩個特徵:
1)因為使用補碼可以將符號位和其他位統一處理,同時,減法也可以按加法來處理,即如果是補碼錶示的數,不管是加減法都直接用加法運算即可實現。
2)兩個用補碼錶示的數相加時,如果最高位(符號位)有進位,則進位被捨棄。
這樣的運算有兩個好處:
1)使符號位能與有效值部分一起參加運算,從而簡化運算規則。從而可以簡化運算器的結構,提高運算速度;(減法運算可以用加法運算表示出來。)
2)加法運算比減法運算更易於實現。使減法運算轉換為加法運算,進一步簡化計算機中運算器的線路設計。
計算機中符號位是什麼
計算機中的符號位,就是在處理二進位制資料時,專門規5261定有一位,是用來確4102定資料的正負,符號位是16531表示負數,是0表示正數。這裡說的是有符號數,這個符號位通常是資料的最高位,如8位資料,左邊第一位是符號位,後邊七位用來表示資料大小。擴充套件資料 計算機中的有符號數有三種表示方法,即原...
計算機中原碼反碼補碼之間的關係,計算機的原碼,反碼,補碼是怎麼回事?可以舉例說明嗎
原碼 就是原碼,真實的碼 反碼 在原碼的基礎上,符號位不變,數值位按位取反補碼 1 正數的補碼 與原碼相同。例1 9的補碼是00001001。2 負數的補碼 符號位為1,其餘位為該數絕對值的原碼按位取反然後整個數加1。計算機的原碼,反碼,補碼是怎麼回事?可以舉例說明嗎?原碼 反碼和補碼是計算機中對 ...
計算機中的URL是什麼,計算機中「URL」是指什麼?
url 統一資源定位符 計算機中 url 是指什麼?url是uniform resource locator的英文縮寫。中文意思是 統一資源定位符 在計算機中 url 是指 是用於完整地描述internet上網頁和其他資源的地址的一種標識方法。統一資源定位符,也被稱為網頁地址,是因特網上標準的資源的...