Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用base 2 python将十六进制转换为十六进制_Python_Python 3.x - Fatal编程技术网

使用base 2 python将十六进制转换为十六进制

使用base 2 python将十六进制转换为十六进制,python,python-3.x,Python,Python 3.x,如何将基数为1(0x1)的数字十六进制转换为基数为2(0x01) 十六进制B1=0x1 十六进制B2=0x01 hex(int('110',2))=0x06因为hex生成一个字符串,所以您可以在转换为hex后解析该字符串 leading_zeros = 2 str_hex = hex(int('110', 2)) final_hex = '0x'+str_hex[2:].zfill(leading_zeros) 正如Martijn Pieters在评论中指出的那样,更好的解决方案是使用内置

如何将基数为1(0x1)的数字十六进制转换为基数为2(0x01)

十六进制B1=0x1 十六进制B2=0x01


hex(int('110',2))=0x06

因为
hex
生成一个字符串,所以您可以在转换为hex后解析该字符串

leading_zeros = 2

str_hex = hex(int('110', 2))
final_hex = '0x'+str_hex[2:].zfill(leading_zeros)

正如Martijn Pieters在评论中指出的那样,更好的解决方案是使用内置于
格式
函数的Python

format(5, '#04x')

我想你的意思是你想要前导零?如果你用谷歌搜索短语“Python convert hex to binary”,你会找到比我们在这里的答案中解释得更好的教程。你在这里使用了错误的术语。十六进制是以16为基数的数字表示法,以2为基数的是二进制。相反,您尝试使用2位数字将十六进制格式化为,并根据需要用零填充。@Guilliz您的意思是将二进制(以2为基数)转换为十六进制(以16为基数)?正确的解决方案是不要首先使用
hex()
函数
format(value,#04x')
将为您提供正确的格式,而无需字符串连接和
str.zfill()
调用。@Martijn可能带有
value&0xFF
如果需要限制,这取决于OP的真正目的是什么…@MartijnPieters更好的解决方案(尽管您实际上需要`.\04x')。谢谢你指出这一点。@Stephen:啊,是的,我总是忘记在添加
时调整全宽。。。