今天為大家分享溫文默克的學習筆記Python篇(6.5)——進制轉換。對于接觸過電腦的人來說進制轉換應該都不陌生,即使不是特别了解,也肯定曾經聽過,今天筆者簡單來說一下各進制是如何計數的以及它們如何在Python中來實現。
進制轉換是人們利用符号來計數的方法,我們日常使用的比較多的是10進制,使用的數字有0、1、2、3、4、5、6、7、8、9共十種。以123為例,123表示的是由1,2,3這三個數字組成的一個稱作123的數,其中1表示“100的個數”,2表示“10的個數”,3表示“1的個數”,123這個數就是1個100,2個10以及3個1累加的結果。就是123=1×100 2×10 3×1,也可以寫成123=1×10^2 2×10^1 3X10^0,這裡10^2、10^1和10^0中的10稱作10進制計數法的基數或底,其他不同進制則按不同的數字作為基數,比如2進制的基數就是2,8進制的基數就是8,感興趣的朋友可以閱讀相關資料。
進制之間可以互相轉換,比如十進制轉二進制的話除2取餘法,即十進制數除2,餘數為權位上的數,得到的商值繼續除,直到商為0為止。
二進制轉十進制則需要把二進制數按權展開、相加即得十進制數。
在Python中進行進制轉換時不需要特别麻煩,很多自帶的函數就可以做到這一點。
其他進制轉換成十進制可以使用int()函數,int() 函數能夠将一個字符串或數字轉換為整型。int(x, base=10),參數x表示字符串或數字,參數base表示進制數,默認十進制。更換base參數的值就可以實現其他進制轉換成十進制,不過要注意一下的是如果是帶參數base的話,前面的數字要以字符串的形式進行輸入,否則報錯。
此外,使用format匹配進行轉換和eval()函數也可以做到,不過用這兩個的話都需要加上前綴,其中二進制的前綴為0b,八進制的前綴為0o,十進制的前綴為0d,十六進制的前綴為0x。
而十進制轉換成其他進制也很容易,既可以使用bin(),oct(),hex()返回對應進制的數(bin轉2進制,oct轉8進制,hex轉16進制),也可以使用format字符串匹配進行轉換。
筆者今天關于進制的分享就是這些,進一步的分享日後找機會筆者再分享給大家。同時筆者還說一些别的,最近武漢的疫情很嚴重,大家出行的時候記得戴好口罩,也希望這次的疫情能夠盡快得到控制,臨近過年,祝大家新年好(記得口罩)~
,
更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!