java基礎次日_進制轉換原理和補碼存儲方式

1.負數的表現形式,爲何如此設計?ide


    負數的表現形式是正數取反加一。原理是正負數相加值爲0.如此設計正負值相加時首位的1因爲超出表示範圍會溢出。獲得符合補碼錶示法的正確數值。spa

    好比byte類型的二進制表示的數,1000 0001 + 0111 1111 = (byte類型是8位,第9位是1超過範圍)1 0000 0000,因此取前面8位,0000 0000,值就爲0了。設計

--------------------------------------------------orm

2.-128是在內存中是如何存儲的?推算過程?內存


    -128在8位的字節存儲結構中=1000 0000,在補碼錶示法中,1000 0000的補碼也是1000 0000,因爲它的符號位是1,表明負數則它表示-128。it

    若是用-127-1的方式推算-128,則過程以下class

+127=0111 1111,-127=1000 0001,-128=-127-1=1000 0000原理

-------------------------------------------------二進制

3.若是字節表示爲11111111,則其真實數據是多少?數據


    從符號位來看這是一個負數,先獲得它的正數。1111 1111的取反加1爲0000 0001,則真實數據爲+1  


--------------------------------------------------

4.正負數是否都支持補碼的方式?


    正負數都支持補碼的方式


---------------------------------------------------

5.正數是不是負數的減一取反?

    是,127=0111 1111=~(1000 0001-1)=~1000 0000=0111 1111

      126=0111 1110=~(1000 0010-1)=~1000 0001=0111 1110

      125=0111 1101=~(1000 0011-1)  =~1000 0010=0111 1101

相關文章
相關標籤/搜索