反碼加減法運算規則?
1.反碼的加法運算:對兩個反碼進行加法運算,然后去掉基數數位,用這個數加上進位的個數,如:[X]對0.1011[Y]對1.1010[y]對0.1011[Y]對1.101010.0101,循環進位1[XY]對0.0110,所以
2.反碼的減法運算:將兩個反碼所代表的數相減,類似于補碼減法。改變減數的符號,根據反碼的加法進行減法。
100的補碼是多少?
-100的8位二進制補碼是11100100。求負整數的補數,將正二進制表示對應的所有位(包括符號位,0到1,1到0)反轉后加1。計算機中符號的個數有三種表示,即原碼、補碼和補碼。這三種表示有兩部分:符號位和數字位。符號位是"積極"用0和"消極"具有1,而數字位具有不同的表示。在計算機系統中,數值總是用補碼來表示和存儲。原因是有了補碼,符號位和數值域可以統一處理;同時,加減法也可以統一處理。另外,補碼和原碼相互轉換,運算過程相同,不需要額外的硬件電路。
原碼補碼反碼在線計算?
在計算機中,數字是以二進制形式表示的。
數字分為有符號數字和無符號數字。
原碼、補碼、補碼都是有符號定點的表示。
有符號定點數的最高位是符號位,0為正,1為負。
以一個8位整數為例。
源代碼是數字本身的二進制形式。
例如
0000001是1。
1000001是-1。
正數的補碼和補碼與原碼相同。
負數的取反是對其原始代碼中除符號位以外的每一位的取反。
[-3]對[10000011]對11111100
負數的補碼是對其原始碼中除符號位以外的每一位求反,然后在最后一位加1。
[-3]增補[10000011]增補11111101
一個數及其補數是可逆的。
為什么要設置補碼?
第一種是讓計算機執行減法:
補碼補碼
第二個原因是統一正0和負0。
正零:00000000
負零:10000000
這兩個數其實都是0,只是它們的原碼有不同的表示。
但是它們的補碼是一樣的,都是000000000。
特別注意,如果1后面有進位,要進位,包括符號位!(這個和反碼不一樣!)
[10000000]補碼
[10000000]反1
111111111
(1)00000000
00000000(最高位溢出,符號位變為0)
有人會問
什么號碼s補碼10000000的補碼代表什么?
其實這是一個規律,這個數的意思是-128。
因此,N位補碼可以表示的范圍是
-2(n-1)到2(n-1)-1
比N位原始代碼所能表示的數字多1。
另一個例子:
1011
原始代碼:01011
反碼:01011//正數,反碼原碼。
補碼:01011//正數,補碼原碼。
-1011
原始代碼:11011
反碼:當10100//為負時,反碼是原碼的逆。
補碼:當10101//為負時,補碼為原碼的1。
0.1101
原始代碼:0.1101
逆碼:0.1101//正數,逆碼原碼。
補碼:0.1101//正數,補碼原碼。
-0.1101
原始代碼:1.1101
反碼:1.0010//負數,反碼是原碼的逆。
補碼:1.0011//當數字為負數時,補碼為原碼的1。