【Python秘籍】十進制整數與二進制數的轉換


最近在用Python寫遺傳算法時,發現需要將十進制的整數轉換成二進制數,那么怎么來轉換呢?當然如果你學過進制轉換的有關計算方法,你可以手動編寫一些函數來實現,不過總體來說還是比較麻煩的,這里介紹Python內置的兩個函數bin()和int(),利用這兩個函數可以輕輕松松完成轉換。

一、十進制整數轉換成二進制數

代碼如下:

 

num = 8
numb = bin(num)
print(numb)

 

這段代碼的輸出結果如下:

0b1000


0b是什么呢?有過一定計算機專業基礎的人一定知道,其實他只是表示二進制數的前綴,也就是說加個0b在前面表示這個數不是一千,而是二進制的一零零零.

二、二進制數轉換成十進制整數

代碼如下:

 

numb = 0b1101
numb2 = '0b1101' num
= int(numb)
num1 = int(numb2 , 2)
print(num)
print(num1)


這段代碼輸出的結果如下:

13
13


也就是說我們通過一個簡單的int函數將0b1101轉換成了十進制的13。這里要強調的是,我們在寫二進制數的時候,一定要加上0b這個前綴,否則它會把你轉換成的數當成十進制數,也就是輸出結果還是1101.還有一點要注意的就是,當你給出的二進制數是字符串類型的時候,在你使用int函數時要像上面代碼寫的那樣后面加上個參數2,否則會報錯。可以簡單地理解成告訴int函數你輸入的這個字符串不是個字符串那么簡單,而是代表着二進制。

三、小貼士

還有一點需要大家注意的是,通過bin函數轉換成的二進制數的類型是一個字符類型,可以通過下標遍歷每個字符,但不能當做整型的數字來處理,所以大家在實際應用中,可能還需要將后幾位取出來進行int類型的強制轉換。而int轉換成的十進制數的類型就是int型的,因為int函數本身也可以當做一個強制類型轉換的函數。


免責聲明!

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



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