八進制、十六進制與十進制的轉換,bytes的十六進制


二進制、八進制、十六進制與十進制的不同顧名思義在於進位不同:

十進制遇十進一,9+1=10,19+1=20,199+1=200。相同數字前一位是后一位的十倍,例如11,前一個代表10,后一個是1。

 

一、八進制

八進制遇八進一,7+1=10,17+1=20,27+1=30。相同數字前一位是后一位的八倍,例如11,前一個代表8,后一個是1;

 

故八進制換十進制:

11(八進制)=1*8+1=9(十進制);

654(八進制)=6*8*8+5*8+4=428(十進制)

 

十進制換八進制:除k取余法,將十進制數除以轉換進制數,倒過來取余數,得轉換進制數。

129/8=16余1,16/8=2余0,2/8=0余2,

故十進制的129八進制應為201(驗證:2*8*8+1=129)

572/8=71余4,71/8=8余7,8/8=1余0,

故十進制的572八進制應為1074(驗證:1*8*8*8+7*8+4=572)

 

二、十六進制

同理八進制,十六進制是遇十六進一,除了1-9以后還有代表10-15的ABCDEF,其中A代表10,B代表11,以此類推。

 

故十六進制換十進制:

EF(十六進制)=14*16+15=239(十進制),

5A(十六進制)=5*16+10=90(十進制)

 

故十六進制換十進制:

895/16=55余15,55/16=3余7,3/16=0余3,

故十進制的895十六進制應為37F

 

三、bytes的十六進制

計算機進行的是二進制計算,四位二進制1111最大表示十進制的15,十六進制一位最大也是表示十進制的15,所以一位十六進制剛好可以換算為四位二進制,不多不少,為了傳輸和存儲信息方便,一般用十六進制代替四位二進制。

python中的bytes就是由十六進制組成的數字。

 


免責聲明!

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



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