請教,整數和小數怎麼進行補碼運算

2025-01-22 23:15:23 字數 5083 閱讀 4793

1樓:和藹的阿里麻麻

數值有正負之分,計算機為了存放負數,就用乙個數的最高位存放符號(0為正,1為負),計算機裡就出現了正零和負零現象。如果用1個byte來寫,正零是00000000,負零是10000000.正零不等於負零了。

為了使涉及負數的運算不出錯,想出了反碼和補碼。負數,除符號位外的其餘各位逐位取反就產生了反碼(0取1,1取0)負數的補碼就是反碼加一。正數的原碼反碼補碼是一樣的。

小數怎麼變補碼和反碼?先要化成二進位原碼。再看小數如何表示。

如果用定點小數,則最高位是符號位,接下來是小數最高位,從原碼到補碼,反碼的做法同上面說的整數做法一樣。如果用浮點數,階碼部分為8位補碼定點整數,尾數部分為24位補碼定點小數。階碼部分有一位階符位,表示指數的符號,其餘階碼錶示冪次。

l_o_o_n_i_e-總監。

2樓:沙裡波特

整數和小數,綜合起來運算?

這就不能用〖 補碼。

運算了。

補碼,做些整數的加減,還行。

整數的補碼怎麼表示

3樓:夏天的小紅花

補碼的最高位:0表示正數,1表示負數。

資料位:正數就是數值的二進位數。

負數是取原數絕對值。

的二進位數,每一位取反互換)後,末位加1。

4樓:金色潛鳥

正數的補碼就是正數的原碼,不變化。

負數的補碼,等於 不考慮符號位時 的數碼的反 碼 加 1。

例如 十進位 -9, 一位元組原碼: 1000 1001; 最高位是符號位,符號位1是負數。

反碼:1111 0110, 加1得補碼 1111 0111。

5樓:做而論道

還能怎麼表示?

無論是整數,還是小數,或者是分數,無論你選用什麼**,都是用二進位的 表示。

負小數補碼計算?

6樓:做而論道

機器字長位8位(其中含一位符號位),用補碼運算規則完成下銀配好列運算。

a = 0101,b = 1011,求 a + b,並判斷是否有溢位。

直接計算:a + b = 011。

用補碼計算:

a = 0101,[ a ]補 = 0001 0101。

b = 1011,[ b ]補 = 1001 0101。

求和: [a + b ]補 = 1010 1010。

再由鋒鉛補碼求真值: a + b = 011。

判斷是否有溢位:

這是,正數+負數!

絕不賣虧可能溢位。

7樓:小宋**教學

c 的高位為 1,表示結果為負數,原碼為 01010110(減 1 取反),恢復小數點(小數點橘握左肢伍空移 7 位), 符號為 。 運算過程中沒有8位進位,所以沒有溢位。 用decimal驗證c的小數為 為負數時補碼為原碼(的反碼,為負數時補碼為原碼的反碼 +1(,小數沒有碼移。

用到數的話,會有很多小數位。這裡我們以為例歷瞎。

8樓:網友

去掉小數點(小數頃尺點右移7位,最高位為符號位)a為正數用8位原碼錶示: 00010101b為負數用8位補碼錶示: 10010101(肢皮01101011取反加1得到)

結果c=a+b=00010101+10010101=10101010c的高位為1 表示結果為負數,轉原碼為01010110(減1取反),恢復小數點(小數點左移7位)和符號為,運算過程沒有發生進位超出8位,因此沒有溢位。

用十進位。驗證。

c的十進歷乎差製為。

a(的十進位a'為。

b(的十進位b'為-(

d=a'+b'=

由於c=d,因此計算無誤。

小數負數的補碼怎麼算?

9樓:華源網路

小數的補碼怎麼計算,如果是負數。

一樣的計算,二進位的小數位的權重依次為2^-1,2^-2...

負小數的原碼 補碼。

1. 小數點前1位表示符號;

2. 從最低(右)位起,找到第乙個「1」照寫,之後「見1寫0,見0寫1」;

3. 本題結果為:

負小數碧敗的補碼怎麼求?

不用取反 讓乘2 取整數 讓後再乘2再取整 一直等於 那麼整數為 1所以的補碼為因為是負數再加1等於。

二進位負小數的反碼(重點)和補碼怎麼算?尤其是整數部分比1大時怎麼辦?這時候符號位取在**?

約定字長8位:

原 =反 =補 =[原 =

反悔中顫 =

補 =請問正小數和負小數求補碼的原則。例如:,,請給出詳細過程,謝謝啊。

若真值為純小數,它的補碼形式培鬧為,,其中xs表示符號位,補碼的定義為:【x】補=x(0<=x<1)或2+x=2-/x/(-1<=x<0)(mod=2)

純小數在求它的原碼、反碼、和補碼時方法和整數是一樣的。

例如:x= 系統要是規定為8位,那麼它的原碼為。

x]原= [x]反= [x]補=

也就是說系統規定為8位,當位數不夠的時候,要在最低有效數後面用0補齊,然後再求它的原碼、反碼、和補碼。正小數也是按照這個方法。

怎麼求正數 負數的補碼?

先寫成二進位(負數要在最首位寫1作為符號位),然後符號位不變其他位按位取反(就是0變1,1變0)後按照正常的加法運算加1就是補碼(不加1是反碼)。

例如:x=-101011 , x]原= 10101011 ,[x]反=11010100,[x]補=11010101

小數二進位求其負數補碼。

小數,要用浮點數表示。

不僅僅是補碼的問題。

怎樣求補碼代表的整數

10樓:戎從露

補碼的首位 1,既代表負號,又代表數值-2^(n-1)。

各位之和,就是補碼所代表的整哪手數。

例掘緩唯如,[x]補碼 是:則:x =-128 + 16 + 4 + 2 + 1 = 105。

又如,[x]補碼判培 是:則:x = 16 + 4 + 2 + 1 = 23。

求補碼所代表的數值,並不需要討論:

「正數負數原碼反碼補碼取反加一符號位不變。

這些,都是專家用來唬人懵人騙人的戲法而已。

小數補碼和原碼的轉化

11樓:空前爵後

符號位不變,其餘各位取反,最後 +1。

不管是整數還是小數原碼到補碼,補碼到原碼都可以這麼算。符號位不變,其餘各位取反,最後+1,即在反碼的基礎上 +1。

原碼和補碼的根本區別:

原碼的意思是二進位表示的都是正數,原碼會有符號位表示正負,無數值意義。

補碼的意思是二進位表示的一半是正數,一半是負數。補碼 中最高位不再表示正數而是表示符號位的負數有數值意義,即負的2的位數減一次方。

原碼和補碼的絕對裂肆逗值之和為2的n次方,n為2進位數的位數。補肆賣碼和原碼的二進位表示相同,但數值不同。

原碼的缺陷:

使用原碼直接進行運算,對於加法是沒有問題的,原碼最大的問題是,無法將減法轉換雹或為加法。例如3-2,可以通過計算3+(-2)得到結果,原碼的計算結果是-5,明顯是錯誤的。

以上內容參考:補碼和原碼的區別以及計算方式-csdn論壇<>

含有小數的補碼怎麼求 求-0.0101的補碼,求過程.

12樓:世紀網路

為負數,補碼為。

負數補碼求法:一種簡單的方式,符號位保持1不變,數值位從右邊數第乙個1及其右邊的0保持不變,左邊安位取睜廳反。

另外一種方法,數值位慧晌按位取反,末位加1,符號位保持不變。

因為補碼的引進就是為了解決機器上減法運算不便的,思想是使符號位參與運算,即用補碼錶示的負數進行加法運算就相當於減去了這個數。而加上一悉碧隱個正數就是加上了乙個正數,不需要進行什麼改變,它的「補碼錶示」自然不需要做什麼改變啦~

13樓:做而論道

含有小數的補碼怎麼求 求- 的補碼。求過畝悶友程。

求- 的補碼?這個:-,是幾進位迅槐的?

你罩薯要求的補碼,是幾位的?這是你自己編的題目吧?

怎樣求補碼代表的整數

14樓:哈明凝歧燦

八位原碼整數(1000

0001)代表的真值為。

1;八位補碼整數(1000

0000)代表的真值為-128。

1:最左是1,代表負號;數值。

1寫成七位二進位。

0000001,寫在符號位後面,這就是原碼。

128:最左是1,代表負號;數值。

128寫成二進位。

0000,求反加一後,把七位二進位。

寫在符號位後面,這就是補碼。

15樓:做而論道

由補碼求真值,是非常簡單的事。你既不用求「反碼原碼」,也不用想著「符號位不變」。

取反加一」或「減一取反」,都是不需要的。

你就直接進行【數 制 轉 換】即可。

已知八位補碼是

首位 1,既代表負號,也代表數值-128。

其餘都是正數: 32 + 16 + 4 = 52。

求總和,立即就求出真值:-76。

如果,補碼是

真值就是: 32 + 16 + 4 = +52。

怎麼求小數和分數求最簡整數比同上

1 小數最簡比計算方法 當比的前項與後項中有一項是小數,或兩項都是小數時,用同一個10的冪去乘前項和後項,把原小數比化為整數比,然後按整數比化簡。2 分數最簡比計算方法 當比的前項與後項中有一項是分數時,用該分母去乘前項和後項,化為整數比 若比的前項與後項都是分數,則用前項和後項分母的最小公倍數去乘...

整數小數分數四則運算的計算方法,怎樣進行整數小數分數的四則運算

乘 除法為二級運算,加 減法為一級運算。如算式中沒有括號,並且只有同一級算式,有從左到右的方法算。如有兩級運算,先算二級,後算一級。如算式中有括號,先算小括號,再算中括號,後算大括號。無論整數小數分數都是這樣的。當測量物體時往往會得到不是整數的數,古人就發明了小數來補充整數 小數是十進分數的一種特殊...

用卡片數字02468和小數點可以組成整數部分是

整數部分肯定是0,總共24個 十分位是 2 4 6 8的各6個 第19個就是前面有18個,正好版是十分位是2,4,6的所有權小數所以第19個就是十分位是8的最小數,除了0和8以外,剩下的數最小值顯然是246,所以第19個數是 0.8246 用數字卡片0,2,4,6,8和小數點,可以組成24個整數部分...