~4= -5 怎麼來的

step1:4的補碼(正數的原碼、補碼、反碼都相同https://baike.baidu.com/item/%E5%8F%8D%E7%A0%81/769985?fr=aladdin)爲0100,第一位爲符號位,0爲正,1爲負。

step2 :~爲按位取反,包含第一位的符號碼,此時補碼變爲1011,要求該補碼對應的十進制數值

step3 :補碼=反碼+1,反碼爲1010

原碼=反碼按位取反(不包含第一位的符號碼),原碼爲1101

step4:1101(二進制)=-5(十進制),第一位爲符號位1代表負數

數據在內存中是以補碼的形式來存儲的。

 

舉一個負數的例子

~-10:

-10的原碼爲11010,反碼爲10101,補碼爲10110,內存中-10爲10110(二進制)

~按位取反,得01001,第一位0爲正,該補碼也就是原碼,爲9。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章