2016-07-23 65 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