『壹』 原碼和補碼是什麼意思
原碼,沒有任何意義。
補碼具有:用正數代替負數,把減法變成加法運算的功能。
這樣,計算機中,只需用一個加法器,便可進行加減運算了。
所以,在計算機中,只是使用補碼。根本就不用原碼和反碼。
對於鍾表,倒撥 4 小時,可用正撥 8 小時代替。
對於十進制數,減一,可以用 +99 代替。
比如:24-1 = 23
24 + 99 = (1) 23
忽略進位,只取低兩位,結果就是相同的。
這里用來代替負數的正數,就叫做「補數」。
計算機用二進制,就叫做「補碼」。
正數,直接運算即可,不用求補碼。
負數的補碼是:模+該負數。
八位二進制的模是:2 的 8 次方=256。
-1 的補碼,就是:256-1 =255 = 1111 1111(二進制)。
-2 的補碼,就是:256-2 =254 = 1111 1110(二進制)。
。。。。。。
-128 的補碼,就是:256-128 =128 = 1000 0000(二進制)。
求補碼,用公式就可得出,並不需要繞道原碼反碼符號位。
『貳』 什麼是補碼C++
正負數,存在計算機中,就稱為:補碼。
計算機中,只有加法器,沒有減法器。
凡是負數或減法,都必須用其對應的補碼,再用加法來完成。
比如十進制運算:
25-1=24
25+99=(1)24
忽略進位,這兩種演算法的功能,就是相同的。
99,就是-1 的補數。
藉助於補數,就能用加法,實現減法運算。
計算機使用二進制,補數,就改稱為:補碼。
------------
在八位機中,0 的補碼是:0000 0000。
-1 就是零減一:0000 0000-1 = 1111 1111=255(十進制)。
-2 的補碼,就是:254 = 1111 1110。
-X 的補碼,就是:256-X。
------------
補碼,和原碼反碼,都沒有任何關系。
『叄』 補碼是什麼請回答好嗎
補碼,就是二進制的補數。
什麼是補數?通過常識,就可以理解了。
時鍾,倒撥3小時,可用正撥9小時代替。
兩位十進制數:00~99,共有100個。
那麼,減一,可用+99代替。
24-1=23
24+99=(1)23
忽略進位,只取低兩位,結果就是一樣的。
那麼,-1的補數,就是99。
同理,-2的補數,就是98。
。。。
利用補數,就可以把減法轉化為加法運算。
--------
計算機用二進制,「補數」就改稱為「補碼」了。
八位二進制數:00000000~11111111,共有256個。
那麼,減一,可用加11111111代替。
因此,-1的補碼,就是11111111=255(十進制)。
同理,-2的補碼,就是11111110=254(十進制)。
。。。
最後,-128的補碼,就是10000000=128(十進制)。
--------
求負數的補碼,公式就是:2的N次方+該負數。
可以用十進制來計算,不用寫成二進制。
『肆』 C語言里的補碼是什麼意思多舉幾個例子來解釋.
補碼,是在計算機內部,正負數的存放格式。
C 語言是高級語言。
用高級語言編程,是不用關心計算機內部的事的。
如果非要涉及計算機內部的細節,那就不是高級語言了。
很多教材書籍的作者,都沒有弄明白:什麼是高級語言。
計算機內部的碼,有很多種了,要是討論起來,C 語言就學不完了。
『伍』 什麼是反碼和補碼
反碼是數值存儲的一種,多應用於系統環境設置;而在計算機系統中,數值一律用補碼來表示和存儲。
原碼是計算機機器數中最簡單的一種形式,數值位就是真值的絕對值,符號位位「0」時表示正數,符號位為「1」時表示負數,原碼又稱帶符號的絕對值。為了方便整數和小數區別,整數的符號位與數值位之間用「,」隔開,小數的符號位與數值位之間用「.」隔開。
在計算機系統中,數值一律用補碼來表示和存儲。原因在於,使用補碼,可以將符號位和數值域統一處理;同時,加法和減法也可以統一處理,在這樣的系統中減法問題也可以化成加法問題,只需把減數用相應的補數表示就可以了。把補數用到計算機對數的處理上,就是補碼。
原碼求補碼
求給定數值的補碼分以下兩種情況:
1、正數
正整數的補碼是其二進製表示,與原碼相同。
例:+9的補碼是00001001。(備註:這個+9的補碼是用8位2進制來表示的,補碼表示方式很多,還有16位二進制補碼表示形式,以及32位二進制補碼表示形式,64位進制補碼表示形式等。每一種補碼表示形式都只能表示有限的數字。)
2、負數
求負整數的補碼,將其原碼除符號位外的所有位取反(0變1,1變0,符號位為1不變)後加1。
同一個數字在不同的補碼表示形式中是不同的。比如-15的補碼,在8位二進制中是11110001,然而在16位二進制補碼表示中,就是1111111111110001。以下都使用8位2進制來表示。
例:求-5的補碼。
-5對應帶符號位負數5(10000101)→除符號位外所有位取反(11111010)→加 00000001為 (11111011)
所以-5的補碼是11111011。
『陸』 原碼,反碼,補碼的定義是什麼。
有符號數,有三種表示方法,即原碼、反碼和補碼。
但是,在計算機系統中,數值一律用補碼來表示和存儲。
所以,在計算機系統中,原碼和反碼,都是不存在的。
----------
想要理解補碼,要先從補數開始。
鍾表的時針轉一圈,周期是 12 小時。
倒撥 3 小時,就可以用正撥 9 小時代替。
9 就是-3 的補數。9 = 12-3。
同理,分針倒撥 X 分,就可以用正撥(60-X)代替。
60 是分針的周期。
------
對於兩位十進制 0~99,周期就是一百。
這時,減一,你就可以用 +99 代替。
25 - 1 = 24
25 + 99 = (1) 24
結果取兩位,舍棄進位。這兩種演算法,功能就是相同的。
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。
------
有了補碼,計算機僅需要一個加法器,就可以加減通用了。
而原碼和反碼,不具備這種能力。
所以,原碼和反碼,究竟是怎麼定義,就不必關心了。
因為,它們,毫無用處。
『柒』 補碼是什麼意思
1
補碼
注意:此處的'=='是相等的意思。'='是賦值的意思。
在機器世界裡:
正數的最高位是符號位0,負數的最高位是符號位1。
對於正數:反碼==補碼==原碼。
對於負數:反碼==除符號位以外的各位取反。
補碼==反碼+1.
原碼==補碼-1後的反碼==補碼的反碼+1。(讀完本文後,應該能夠直觀地認識到本式的正確性)
可以輕易發現如下規律:
自然計算:a-b==c.
計算機計算:a-b==a+b的補碼==d.
c的補碼是d.
通過此法,可以把減法運算轉換為加法運算。
所以補碼的設計目的是:
1.使符號位能與有效值部分一起參加運算,從而簡化運算規則.
2.減運算轉換為加運算,進一步簡化計算機中運算器的線路設計.