Python進位轉換

來源:互聯網
上載者:User

標籤:次方   src   size   技術分享   進位之間的轉換   記錄   bin   結果   表示   

進位轉換:先介紹不用函數的方法,再介紹用函數的方法 二進位轉十進位:1101 轉為十進位 1*2^(4-1)+1*2^(3-1)+0*2^(2-1)+1*2^(1-1) 即各個位拆開,乘以2的(位元-1)次方,結果為13
>>> int(‘1101‘,2)  13
>>> int(‘0o226‘,8) #00226 0:阿拉伯數字零 o:小寫英文字母 o 226:八位元
150
>>> int(‘0x96‘,16)
150

同理可得:把八進位、十六進位數按權展開、相加即得十進位數。

十進位轉二進位:比如13 用13除以2,得到的商再除以2 直到除到1,然後記錄每次得到的餘數, 從後往前讀,即為 1101 同理可得,十進位轉八進位或者十六進位按照除8或者16取餘,直到商為0為止,再從最後一位讀到第一位
>>> bin(13)‘0b1101‘

 

 

八進位轉為二進位:比如八位元 (37)8拆開 3   7     3用2禁製表示為 11                           7用二進位表示為 111                       合起來 即為 11 111 同理 十六進位轉二進位
>>> bin(0o37)    #0o37   0:阿拉伯數字0   o:八進位表示‘0b11111‘>>> bin(0x33)‘0b110011‘>>> 

 

二進位轉八進位:二進位從右邊數,3位3位為一組,轉為十進位比如:10 110 011 1112     6    3      7    對應八進位就是為 (2637)8 同理十六進位,不過此時二進位應該是 從右往左邊數,4位4位為一組
>>> oct(0b10110011111)‘0o2637‘>>> hex(0b10110011111)‘0x59f‘>>> 

101 1001 1111    轉為十六進位對應如下:

5         9     f (15)

 

八進位與十六進位之間的轉換有兩種方法:

第一種:他們之間的轉換可以先轉成二進位然後再相互轉換。

第二種:他們之間的轉換可以先轉成十進位然後再相互轉換。

>>> oct(0x37)‘0o67‘>>> hex(0o67)‘0x37‘

 

 

 

 

 

 

Python進位轉換

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.