如何将十六进制数字转换为二进制数,然后执行" OR" Python 2.4.3中的操作?
实施例 -
a= '1000'
b= '2000'
//Now convert both numbers a and b to binary form
//a_inbinary= '0001000000000000'
//b_inbinary= '0010000000000000'
c= a_inbinary | b_inbinary // or of a and b
//c would be result example - 0011000000000000
result=3000 //c in hex
有人可以告诉我如何将两个数字转换为二进制形式然后生成十六进制形式?
答案 0 :(得分:2)
您不必将它们转换为二进制形式来执行按位运算,但十进制整数应该没问题。您可以通过指定表示数字的实际基数将数字转换为基数10,作为int
函数的第二个参数。最后,使用hex
函数可以将十进制形式的结果转换回十六进制。
a= '1000'
b= '2000'
print hex(int(a, 16) | int(b, 16))
<强>输出强>
0x3000
答案 1 :(得分:0)
假设前两个字符串是0x1000和0x2000,则无需转换为二进制字符串,只需使用按位或运算符|
a='1000'
b='2000'
a=int(a,16)
b=int(b,16)
hex(a|b)