大家好,如果您還對已知負數(shù)的補碼求原碼不太了解,沒有關(guān)系,今天就由本站為大家分享已知負數(shù)的補碼求原碼的知識,包括正數(shù)原碼反碼補碼相同的問題都會給大家分析到,還望可以解決大家的問題,下面我們就開始吧!
-127的原碼反碼補碼
-127為負數(shù),其補碼為原碼01111111,取反10000000,加一,10000001。
【-127】原碼11111111反碼10000000補碼10000001
負數(shù)原碼和反碼的相互轉(zhuǎn)化:負數(shù)原碼轉(zhuǎn)化為反碼:符號位不變,數(shù)值位按位取反。負數(shù)反碼轉(zhuǎn)化為原碼:符號位不變,數(shù)值位按位取反。
擴展資料:
求負整數(shù)的補碼,將其原碼除符號位外的所有位取反(0變1,1變0,符號位為1不變)后加1。
同一個數(shù)字在不同的補碼表示形式中是不同的。比如-15的補碼,在8位二進制中是11110001,然而在16位二進制補碼表示中,就是1111111111110001。以下都使用8位2進制來表示。
負數(shù)求補碼有哪些方法啊
正整數(shù)的補碼就是原碼本身,所以本文主要梳理求負整數(shù)的補碼的三種方法。為了進行數(shù)學化的表示,在正文開始之前我們規(guī)定:-N表示負整數(shù),N表示-N的絕對值,N*表示-N的補碼,該數(shù)的二進制位數(shù)為n,且N、N*和2^n都當作無符號正數(shù)。
方法一:N*=2^n-N
負整數(shù)-N的補碼本質(zhì)上就是其絕對值N的補數(shù)N*,故用數(shù)學表達式表示即為:補碼N*=2^n-N。以-N=-7,n=4為例:
(1)N*=2^4-N=16-7=9。因為N*是作為無符號正數(shù),所以N*=9用二進制表示即為:(1001)?,此即為負整數(shù)-N的補碼。
(2)N*=(10000)?-N=(10000)?-(0111)?=(1001)?,此即為負整數(shù)-N的補碼表示。
由補碼求原碼如何求
我?guī)湍憬鉀Q這個問題,作為交換,如果以后有陌生人問你這么簡單的問題,請幫他耐心解答。
一.先從理論上認識一下原碼,補碼,反碼。(
你問這個問題,我就當你有相關(guān)知識基本概念,大致講講)
1.二進制有便于模擬電路或與非、便于計算機設計、抗干擾性強的好處(我當年的機組書上大概是這個意思)——于是誕生了原碼;
2.原碼無法解決正負相加等于0的問題(你可以自己找個正負樹原碼加一下)——于是引入了反碼;
3.原碼,反碼有兩個0(正負0),為了解決這個問題引入了補碼(補碼的0表示是唯一的)
二.十進制化為原碼(
我以正負47舉例)
這就求出了47的8位原碼,當然你也可以直接拼湊出來,我這樣用算的思路是便于你以后寫程序的時候便于設計算法。
1.原碼
最高位為符號位:+47的16位原碼:0000000000101111;-47的16位原碼:1000000000101111
2.反碼
正數(shù)和原碼相同。負數(shù)在原碼
的基礎上除符號位為其余各位取反:+47的16位反碼:0000000000101111;-47的16位反碼:1111111111010000
3.補碼
正數(shù)和原碼、反碼相同。負數(shù)在反碼
的基礎上最低位加1(二進制算法)
+47的16位補碼:0000000000101111;-47的16位補碼:1111111111010001
計算方法如下:
其余的自己算吧,還有不懂的可以私我,最好自己照著思路推算出其他的。
如何求一個正數(shù)或者負數(shù)的原碼,反碼,補碼比如+5
5的原碼是00000101
正數(shù)的反碼,補碼和原碼相同
負數(shù)的反碼是在正數(shù)的基礎上各位取反
補碼是在反碼的基礎上加1
求-109的原碼反碼和補碼
對于8位二進制來說,最高位置1表示為負數(shù),而109的二進制位1101101,所以-109的原碼是11101101,反碼就是00010010,而負數(shù)的補碼是原碼除了最高位外,其他位取反加1,所以補碼就是10010011
已知負數(shù)的補碼求原碼和正數(shù)原碼反碼補碼相同的問題分享結(jié)束啦,以上的文章解決了您的問題嗎?歡迎您下次再來哦!