Python 2.4.3将字符串转换为位,反之亦然

时间:2013-11-22 09:04:00

标签: python

如何将十六进制数字转换为二进制数,然后执行" 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

有人可以告诉我如何将两个数字转换为二进制形式然后生成十六进制形式?

2 个答案:

答案 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)
相关问题