當前位置:首頁 > 科技 > 正文

反碼補碼原碼怎么轉換,原碼反碼補碼轉換關系圖

反碼補碼原碼怎么轉換,原碼反碼補碼轉換關系圖

大家好,今天給各位分享反碼補碼原碼怎么轉換的一些知識,其中也會對原碼反碼補碼轉換關系圖進行解釋,文章篇幅可能偏長,如果能碰巧解決你現在面臨的問題,別忘了關注本站,現在就...

大家好,今天給各位分享反碼補碼原碼怎么轉換的一些知識,其中也會對原碼反碼補碼轉換關系圖進行解釋,文章篇幅可能偏長,如果能碰巧解決你現在面臨的問題,別忘了關注本站,現在就馬上開始吧!

原碼反碼補碼計算器

1、二進制補碼的計算方法

二進制的補碼計算非常簡單,各種教材中也經常使用二進制來說明源碼、反碼與補碼三者的關系,掌握一定基礎的人都知道一下規則:

1.1原碼

最高位為符號位,0表示正數,1表示負數。

例如:X=0b11(3),四比特表示原碼=0011(3);X=-0b11(-3),四比特表示原碼=1011(11);

1.2反碼

最高位為符號位,0表示正數,1表示負數。

正數的反碼等于本身,負數的反碼除符號位外,各位取反:

例如:X=0b11(3),四比特表示原碼=0011(3),對應反碼為=0011(3);X=-0b11(-3),四比特表示原碼=1011(11),對應反碼為=1100(12);

1.3補碼

最高位為符號位,0表示正數,1表示負數。

正數的補碼等于本身,負數的補碼等于反碼+1:

例如:X=0b11(3),四比特表示原碼=0011(3),對應反碼為=0011(3),補碼為=0011(3);X=-0b11(-3),四比特表示原碼=1011(11),對應反碼為=1100(12),補碼為1101(13);

2、十進制的補碼計算方法

對于十進制數來說,通過前面的性質不難得到正十進制數補碼等于其本身,對于負十進制數來說如果還按位進行運算就太麻煩了!為了講明白,我們從補碼的起因說起:

“反碼加一”只是補碼所具有的一個性質,不能被定義成補碼。負數的補碼,是能夠和其相反數相加通過溢出從而使計算機內計算結果變為0的二進制碼。這是補碼設計的初衷,具體目標就是讓1+(-1)=0,這利用原碼是無法得到的:

而在補碼中:

所以對于一個n位的負數-X,有如下關系:

所以假設寄存器是n位的,那么-X的補碼,應該是

的二進制編碼。

例如前面舉得例子:

例如:X=-0b11(-3),四比特表示原碼=1011(11),對應反碼為=1100(12),補碼為1101(13);

如果寄存器4位,-3對應的補碼二進制數為13,剛好是

正十進制數補碼等于其本身,n位寄存器下-X的補碼等于

對應的二進制編碼。

如果使用python的話,可以使用&來快速獲取補碼:

-3&0xfOut[1]:135&0xfOut[2]:5

這里的0xf指的是0b1111,表示4位的寄存器。如果是7位寄存器,0b111111就是0x3f。

3、已知補碼怎么求原碼?

對于正數來說,根據前面的介紹很容易知道原碼=補碼=反碼,接下來主要討論給定負數的補碼怎么求負數的原碼:

3.1二進制

先說結論:補碼的補碼就是原碼。下面開始證明:

已知二進制的補碼為

,根據1.3中求補碼的過程易得

事實上上式還等價于:

可以簡單證明一下,根據反碼實際的求解過程可以得到下面式子:

當a=a-1時有:

上面兩式子說明了:

用文字描述即:取反加一等價于減一取反!

所以二進制補碼有如下關系:

也就是說補碼的補碼就是原碼,有點負負得正的意思哦。

3.2十進制

n位寄存器下-X的補碼等于

對應的二進制編碼。

(1)十進制的情況下,如果給的補碼是無符號數

,那么原碼即

即可。

例如前面-3補碼無符號數是13,對應的原碼就是

(2)十進制的情況下,如果給的補碼是有符號數-Y,對應的無符號數就是

,那么原碼就是

例如前面-3補碼有符號數是-5,對應的原碼就是

編輯于2021-10-3013:39

19的原碼反碼補碼計算

一般是按8位二進制來做,所以-19的原碼是(10010011),反碼是(11101100),補碼是(11101101)。

數據在計算機中是以二進制的形式存在的,比如bytea=6;byteb=-6

分為兩種情況來說,一種是正數,一種是負數;對于正數6來說,原碼就是00000110,反碼和補碼也是這個;而對于-6來說,原碼就是10000110,這是為什么呢?因為最高位(最左邊的)是表示符號,0表示正數,1表示負數;

不管是byte,short,int還是其他的數字,最高位都是用來表示符號的,所以-6的原碼就是10000110,負數的反碼就是符號不變,其他的取反,就是11111001;負數的補碼就是在反碼的基礎上加1就行了,由于是二進制的,是逢2進1,所以補碼就是:11111010,;

?

25的原碼反碼補碼

原碼、反碼、補碼是三種不同的二進制數表示方法,它們主要用于計算機中表示有符號整數。25的原碼是00011001,反碼是00011001,補碼是00011001,因為正整數的原碼、反碼、補碼完全一樣。

78的原碼反碼補碼是多少

78的原碼反碼補碼都是1001110。

數字78是一個正數,正數的原碼,補碼,反碼相同,先求原碼,因為正數的原碼就是他的真值.負數的原碼是在正數的原碼基礎上,最高位置1,即符號位.然后再求反碼:符號位1不變,后面的所有位取反,然后再求補碼:在反碼的基礎上,末尾加1。

78的二進制等于1001110。那么他的反碼和補碼與他的原碼相同,也為1001110。

-70的原碼反碼補碼

70的原碼為01000110

那么70的反碼為10111001

70的補碼為10111001------------反碼、補碼一樣,但是意義不同.

反碼和原碼轉換

反碼的表示方法是:正數的反碼是其本身,負數的反碼是在其原碼的基礎上,符號位不變,其余各個位取反。

[+1]=[00000001](原碼)=[00000001](反碼)[-1]=[10000001](原碼)=[11111110](反碼)可見如果一個反碼表示的是負數,人腦無法直觀的看出來它的數值。通常要將其轉換成原碼再計算。

文章分享結束,反碼補碼原碼怎么轉換和原碼反碼補碼轉換關系圖的答案你都知道了嗎?歡迎再次光臨本站哦!

主站蜘蛛池模板: 伊人情人综合成人久久网小说| 亚洲精品欧美综合| 国产成人综合久久精品红| 国产成人精品综合久久久久 | 亚洲国产一成久久精品国产成人综合| 一本一道久久综合狠狠老| 日韩人妻无码一区二区三区综合部| 亚洲第一区欧美国产不卡综合 | 亚洲av综合avav中文| 伊人色综合久久天天网| 亚洲国产精品综合久久一线| 国产激情综合在线观看| 激情综合色五月丁香六月欧美| 亚洲综合无码一区二区| 狠狠色丁香婷婷综合久久来| 日韩欧美在线综合网另类| 丁香五月网久久综合| 乱欧美综合| 91精品国产综合久久久久久| 亚洲欧美日韩综合aⅴ视频| 精品综合久久久久久888蜜芽| 国产成人综合久久综合| 综合亚洲欧美三级| 国产精品日韩欧美久久综合 | 狠狠色综合日日| 国产精品日韩欧美久久综合 | 久久综合亚洲欧美成人| 色综合天天综合给合国产| 欧美日韩一区二区综合在线| 亚洲啪啪综合AV一区| 亚洲综合偷自成人网第页色| 亚洲国产天堂久久综合网站| 亚洲国产欧洲综合997久久| 亚洲国产成人久久综合野外| 亚洲国产成人久久综合区| 亚洲综合另类小说色区色噜噜| 久久综合香蕉国产蜜臀AV| 色欲综合一区二区三区| 欧美韩国精品另类综合| 欧美αv日韩αv另类综合| 亚洲综合伊人久久综合|