📅  最后修改于: 2023-12-03 15:34:11.326000             🧑  作者: Mango
在Python中,我们可以使用内置函数bin()
将十六进制表示的数字转换为二进制。
>>> hex_number = 0xA
>>> binary_number = bin(hex_number)
>>> print(binary_number)
0b1010
在上面的代码片段中,我们首先声明一个十六进制数字0xA
(相当于十进制的10),然后使用bin()
函数将其转换为二进制。转换后的结果为0b1010
,其中0b
表示这是一个二进制数字的前缀。
如果你想要去掉前缀并以字符串形式打印二进制数字,可以使用字符串的切片操作符[2:]
,即从第三个字符开始取到字符串末尾。
>>> binary_number_str = binary_number[2:]
>>> print(binary_number_str)
1010
除了使用bin()
函数,我们也可以使用Python的位运算符>>
和&
将十六进制数字转换为二进制。具体来说,我们需要将十六进制数字右移四位,然后与二进制数字0b1111
相与,即可得到该数字的低四位的二进制表示。
>>> hex_number = 0xA
>>> binary_number = ((1 << 4) - 1) & hex_number
>>> print(binary_number)
1010
上面的代码中,我们将1
左移四位得到二进制数字0b10000
,再减去1
得到二进制数字0b1111
,即十进制数字15
。然后我们将这个二进制数字与hex_number
相与,得到的结果就是0xA
的低四位的二进制表示,即1010
。
总的来说,Python提供了多种方式将十六进制数字转换为二进制。具体使用哪种方式取决于你的需求和实际情况。