負數轉16進制


http://wenku.baidu.com/link?url=vCS98zuSbS1cRDrvmGc7RdasMmhzUgGCqzHSZzhnVHy-BPO37X_X1ktz3zOoDZ_1D1Tf9FWnHsJQJOZA-LYYgkwskoC_mozWeFDtsxhQPQy

現在想知道,714在計算機中如何表示?在計算機中,正數以原碼的形式表達。

正數的原碼,反碼,補碼,都相同。

現在想知道,-714在計算機中如何表示?在計算機中,負數以原碼的補碼形式表達。

 

正數有正數的原碼

負數有負數的原碼

取反和反碼不是同一個概念

 

一個是在計算機中表達,一個是科學計數方式表達。

714 原碼:     0000 0010 1100 1010     02CA

-714的原碼:  1000 0010 1100 1010

負數的反碼:1111 1101 0011 0101(符號位不變)

負數的補碼:1111 1101 0011 0110        FD36

-714計算機儲存式:  1111 1101 0011 0110

 

下面為:由正數原碼求負數的計算機儲存式。         

-714  

714 化成16進制   02CA,二進制

0000 0010 1100 1010

取反(不是反碼,正數的反碼是本身)  

1111 1101 0011 0101

加1

1111 1101 0011 0110

FD36

負數轉16進制,其正數取反碼+1,即可。

 

16進制轉成10進制。

如果是正數:

 0000 0010 1010 1010,   直接算。   1*2^9 + 1*2^7 + 1*2^5 + 1*2^3 + 1* 2^1

或者  02  CA        2*16^2 + C*16^1 + A

 

如果是負數:

轉成正數。減1,取反。

第一個已F打頭,表示負號。

先減去1,再取反,換成正數,最后再補上符號

FD35

1111 1101 0101 0101

取反

0000 0010 1010 1010

02CA =    2*16^2+C*16+A*1 = 714

最后取負數,為A: -714。

 

計算機存儲的二進制,判斷一個數正負:看最高位符號為1還是0,(4個一位)

最高位是有講究的: 還要看數據所占的總字節數,例如1個字節:  -128~127

1000 0000, -128,計算機儲存  80       

0000 0001,  1,   計算機儲存   01

1000 0001, -1   ,計算機儲存   FF

 

計算機存儲的16進制,判斷一個正負:

16進制,首位   8以上的數據為負

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM