【发布时间】:2020-01-15 06:25:40
【问题描述】:
假设我有一个表示十六进制值的字符串,例如“0x4”,二进制表示为 0100。如果我想测试第 n 位是否设置为 1,以及我从最低有效位开始计数的位置(意思是这个例子只有第 3 位是 1) 我怎样才能以最优雅的方式做到这一点?
我怀疑我的做法是否非常优雅或高效。 位 = '{0:08b}'.format(int(0x4, 16)) 然后检查 str(bits[-3]) 是否为“1”
bits = '{0:08b}'.format(int(0x4, 16))
if str(bits[-3]) == "1":
print "Bit is set to 1"
我想要一种简洁的方法,例如使用按位运算符或移位。
【问题讨论】:
标签: python