python 進制轉換 int、bin、oct、hex的原理
原理
十進制轉n進制都可以使用倒除法:對十進制進行除n的運算,直到商為0為止,然后將各個步驟中得到的余數(shù)倒著寫出來.
n進制轉十進制:(例子:二進制轉十進制)
101001 => 2^5 + 2^3 + 1 = 32 + 8 + 1 = 41
10111 => 2^4 + 2^2 + 2 + 1 = 16 + 4 + 2 +1 = 23
同樣類推一下,n進制轉十進制就是將2為底換成n為底就好了
還有其他方法,比如使用中間二進制,
例如,將十進制轉成八進制或者十六進制,先轉成二進制再轉成八進制或者十六進制
十進制 => 二進制 => 十六進制
520 => 1000001000 (512+8) => 10 0000 1000 => 208(十六進制)
1314 => 10100100010(二進制) => 2442(八進制) => 522(十六進制)
八進制或者十六進制轉成十進制
十六進制 => 二進制 => 十進制
522 => 0101 0010 0010 => 1024 + 256 + 32 + 2 = 1280+34 = 1314(十進制)
十進制轉其他進制的數(shù)
使用內置函數(shù)bin、oct、hex可以將整數(shù)轉換成對應的二進制、八進制、十六進制;
注意只能轉換整數(shù),返回的數(shù)據是一個字符串類型
a = 12# 默認數(shù)字都是十進制 print(a)# 12 b = 0b0101010111#以0b開頭的是二進制數(shù),默認也是十進制輸出 print(b)# 343 c = 0o33# 以0o開頭的是八進制數(shù) print(c)# 27 d = 0x24# 以0x開頭的是十六進制數(shù) print(d)# 36
a = 12 # 12是十進制數(shù) print(bin(a))# 0b1100 使用bin內置函數(shù)可以將數(shù)字轉換為二進制 print(oct(a))# 0o14 使用oct內置函數(shù)可以將數(shù)字轉換為八進制 print(hex(a))# 0xc 使用hex內置函數(shù)可以將數(shù)字轉換為十六進制 print(type(bin(a)))# <class 'str'> print(bin(0o1111))# 0b1001001001 print(bin(0xff))# 0b11111111 print(oct(0xff))# 0o377 print(hex(0b00011111)) # 0x1f # print(bin(1.12)) # print(oct(1.12)) # print(hex(1.12)) # TypeError: 'float' object cannot be interpreted as an integer
其他進制轉換成十進制
int函數(shù)的使用
int(x, base=10)base是進制,默認是十進制
int函數(shù)常用來將其他類型的數(shù)據轉換成整型
注意:
x 有兩種:str / int
1、若 x 為純數(shù)字,就不能給base傳參數(shù),否則就會報錯
2、若 x 為 str,則可以給base傳參,不傳就默認是10;給base傳什么參數(shù)就認為此字符串為什么進制的數(shù),然后把它轉換成十進制的數(shù),但字符串里的數(shù)必須符合該進制規(guī)范,否則會報錯
print(int(3.112))# 3 # print(int(3.112,8))# TypeError: int() can't convert non-string with explicit base print(int('10',2))# 2 # print(int('22',2))# ValueError: invalid literal for int() with base 2: '22' print(int('0xaaa',16))# 2730 print(int('0b111',2))# 7 print(int('0o1237',8))# 671
到此這篇關于python 進制轉換 int、bin、oct、hex的原理的文章就介紹到這了,更多相關python 進制轉換 內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
簡單介紹一下pyinstaller打包以及安全性的實現(xiàn)
這篇文章主要介紹了簡單介紹一下pyinstaller打包以及安全性的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-06-06Python實現(xiàn)加密的RAR文件解壓的方法(密碼已知)
這篇文章主要介紹了Python實現(xiàn)加密的RAR文件解壓,本文分步驟給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-09-09