我正在尝试编写一个python脚本,它将发现X
我的意思是
x & 0xe = 0x6
我想找到所有可以得到x & 0xe = 0x6
的十六进制结果的组合
所以iv'e做的第一件事就是创建一个测试if x & 0xe = 0x6
的脚本,这样我就可以找到一些X
组合
第二个脚本是一个for循环,它将创建将在while循环中测试的所有组合
GetStr=(raw_input('1st Hex:'))
StrToHex = int(GetStr, 16)
GetStr2=hex(0x100)
StrToHex2=int(GetStr2,16)
for i in range(StrToHex,StrToHex2,1):
print hex(i)
问题是我发现很难让它按我想要的方式工作,它需要做的就是找到所有可以和0x6
的组合并打印出来。在
谢谢!在
首先,请注意,不可能找到}是}中的任何其他位的都将是一个解决方案。在
x
的所有值,这样x & 0xe == 0x6
,因为它们有无穷多的值。bin(0x6)
是'0b110'
,而{'0b1110'
,因此每个数字中包含两个数字中的所有位和不在{关于你的代码:不完全清楚你在问什么。根据我的理解,您需要将手动方法从第一个代码段转换为一个循环,自动测试特定范围内的所有数字。为此,我建议为
check
创建一个可以在两个循环中重用的函数,并为另外两个值定义一些变量。另外,当前您正在不断地从int
转换为hex
-string并返回到int
。只需一直使用int
并转换为hex
进行打印。在你可以试试这样的方法:
或者更短(但可能不那么易读):
^{pr2}$然后,在
for
循环中调用该函数。在相关问题 更多 >
编程相关推荐