我知道如何使用bin函数将十六进制整数转换为二进制字符串,但是有没有简单的方法将十六进制整数转换为二进制 integer ?
换句话说,是否有一种简单的方法可以将二进制整数("0b111"
)的字符串表示形式转换为表示二进制整数(0b111
)的整数
使用bin()生成十六进制字符串
>>> bin(0x7)
'0b111'
>>> type(bin(0x7))
<class 'str'>
但是我想要实现的是:
>>> magic(0x7)
0b111
>>> type(magic(0x7))
<class 'int'>
(魔术函数只是一个占位符,从本质上讲,我想要一种将二进制整数的字符串表示形式转换为二进制整数的方法)
答案 0 :(得分:1)
您所说的“十六进制整数”和“二进制整数”之间没有区别-它们都是整数:
Collection<String> a = new ArrayList<String>();
a.add("Hello");
a.add("World");
System.out.println(((ArrayList<String>)a).get(0));
前缀>>> 0x07
7
>>> 0b111
7
>>> type(0x07)
<type 'int'>
>>> type(0b111)
<type 'int'>
>>> 0x07 == 0b111
True
>>> 0x07 is 0b111 # This is true in the special case of small integers
True
或0x
只是告诉您解释器如何读取您提供的输入的一种方式。
要将整数的二进制字符串表示形式转换为实际整数,可以使用0b
:
int(string, base)