2016-07-23 63 views
0

它如何快速將二進制數轉換爲10進制數? bin()返回一個字符串,它如何將它們轉換爲整數來對它們進行數學運算?int()是如何在Python中實現的?

+3

'int'不轉換整數到基座10。轉換字符串,或數字對象,如浮點數,整數的內部表示(我認爲它總是二的補碼)。 – alexis

+2

[使用源代碼,Luke!](https://svn.python.org/projects/python/trunk/Objects/intobject.c)。是'PyInt_FromString'你想要什麼? –

+0

基本上,我明白了一些選擇,除了RTFS之外,還有一些splaining。我不完全清楚C和Python在諸如此類的實例中如何交互。 – user1603472

回答

0

你可以使用int加上額外的參數把它轉換

int('1000', 2) 
output: 
8 

int類:

class int(x, base=10) 

返回從一個數字或串x構建一個整數對象,或 返回0,如果沒有參數給出。如果x是一個數字,它可以是一個 純整數,一個長整數或一個浮點數。如果x是 浮點數,則轉換會向零截斷。如果參數 不在整數範圍內,則該函數會改爲返回長對象 。

如果x不是數字或給定了基數,則x必須是一個字符串或 Unicode對象,表示以基數爲基數的整數文字。 或者,文字可以前面加上+或 - (在 之間沒有空格)並且被空白包圍。基數n文字由 數字0到n-1組成,其中a到z(或A到Z)的值爲10到35. 默認基數爲10.允許的值爲0和2-36。 Base-2,-8, 和-16文字可以選擇以0b/0B,0o/0O/0或 0x/0X作爲前綴,如同代碼中的整數文字一樣。基0表示解釋 字符串完全爲文字的整數,使得實際鹼是2,8,10 或16