1樓:做而論道
在計算機系統中,數值,一律採用補碼錶示和存放。
在計算機中,並沒有原碼和反碼。
採用補碼的原因是:
藉助於補碼,負數和減法,都可以轉化成加法來進行運算。
那麼,計算機的硬體,就可以簡化了。
因此,在計算機中,只有加法器,並沒有減法器。
所謂【補碼】,就是乙個【代替負數進行運算的正數】。
補碼是怎麼回事? 這得從「補數」談起。
先用十進位來解釋,比較容易理解。
25+99=(一百) 24
如果捨棄進位,那麼,-1,就可以用正數 99 代替、減法也就可以用加法實現了。
這個正數(99),就是負數(-1)的補數。
在這裡,用的是 2 位 10 進位,計數週期就是 10^2 = 100。
-1 的補數 +99 是怎麼算出來的?
顯然就是:【-1+週期】。
8 位 2 進位,計數週期是 2^8 = 256。
那麼,-1 的補碼就是:
1+256 = 255 = 1111 1111(二進位)。
同理:2 的補碼,就是:-2 + 256 = 1111 1110;
3 的補碼,就是:-3 + 256 = 1111 1101;
128 的補碼,就是:-128 + 256 = 1000 0000。搜尺餘。
以上,就是八位字長,所能代表的 128 個負數。
求負數補碼的通用公式: [x]補 = x + 計數週期。
正數,不用做任何變換。所以,正數,並不存在補碼。
世滾---補碼,就是補碼,和原碼反碼,都沒有任何關係。
利用補碼,可以節省乙個減法器,而原碼反碼都不具備這種功能。
所以,在計算機中,只是使用補碼,並不用原碼和反碼。
那麼,原碼和反碼有什麼用呢?
那就是計算機老師,捧在手裡的乙個碗。。。
舉例說明,如:
用補碼計算的過程如下:
7 的補碼=
相加
得 (1)= -2 的補碼。
捨棄進位,只保留八位,這困悉就實現了 5-7。
2樓:網友
正數就是原碼,負數就是反碼加1
電腦科學導論,補碼運算?
3樓:網友
x的原碼是0100 0011 補碼陵橋是 0100 0011 y的原碼是1010 0011 補碼是1101 1101
所以 [x+y]補= 1010 0011
1)0010 0000 因為次高位向最高位 和 最高位向前都有進位 所以結果沒溢位 進位要捨去。
再將[x+y]補 求補就可以得到其真值 又因為它是個正數孫巨集所以補碼就等於自身 所以最後的則汪冊結果就是 0010 0000=32
4樓:匿名使用者
這也問,學個程式,自己搞搞。
計算機的原碼,反碼,補碼是怎麼回事?可以舉例說明嗎
計算機以二進位制補碼儲存資料 以16位機器為例 比如83的二進位制碼為 0000 0000 0101 0011 由於正數的原始碼 反嗎 補碼,上面的既是原始碼,也是反碼和補碼下面通過負數講解原始碼 反碼 補碼之間的關係以 83為例 先求出 83絕對值的原始碼 0000 0000 0101 0011 ...
計算機數制計算方法,計算機各種進位制數怎麼算的
十進位制是逢十進一。二進位制是逢二進一。注 如 2 表示2的2次方,2 表示2的5次方 1.二進位制計數法的概念。人們在日常生活中和生產實踐中,我們接觸到越來越多的數字,創造了分組計數的制度。而我們的生活中,一般採用了 滿十進一 的十進位制計數法,我們現在已經熟悉並經常運用這一種計數法了。但也有采用...
請教關於計算機資料的傳輸,原碼反碼補碼
數學中的正負數可以用正 負號表示,但在計算機中任何資訊都只能用10表示,所以在計算機中為了表示正負,把一個數的最高位作為符號位,0表示正數,1表示負數,這樣就可以參加運算 例如,用8位2進製表示十進位制 29和 29分別為 00011101和10011101.對於有符號的定點數有3種表示法 原碼,補...