用python进行十六进制计算

用python进行十六进制计算,python,hex,Python,Hex,我使用了Python2.7,我知道它已经过时了,但是对于这个例子,我更容易理解。假设我有十六进制的0x70/3='0x25,但我知道25+25+25=6F不等于70,实际上应该是25+25+26=70 >>> a = hex(0x70 / 3) >>> print a 0x25 >>> print hex(int(a, 16) * 2) 0x4a >>> print hex(int(a, 16) * 3) 0x6f >

我使用了Python2.7,我知道它已经过时了,但是对于这个例子,我更容易理解。假设我有十六进制的
0x70/3='0x25
,但我知道
25+25+25=6F
不等于
70
,实际上应该是
25+25+26=70

>>> a = hex(0x70 / 3)
>>> print a
0x25
>>> print hex(int(a, 16) * 2)
0x4a
>>> print hex(int(a, 16) * 3)
0x6f
>>> print hex(int(a, 16) * 3 + 1)
0x70
我希望python脚本将
0x70
除以
3
,得到
0x25
,然后自我检查,以获取
25
*
3
并填充剩余的任何所需数字(在本例中,
+1
使其再次等于
70
,因此这是真的。但它不能硬编码,因为不同的十六进制数并不总是需要添加
+1
数字。基本上,我需要弄清楚如何编写脚本,使它知道它应该是
25+25+26=70
,因为我以后需要这3个数字。)使用。这对我来说有点难解释,所以我很抱歉。如果脚本能够打印出真正的
0x70/3
会让我的生活更轻松的内容,那就更好了。例如:

a = hex(0x70 / 3)
print a
0x25
0x25
0x26

我刚刚安装了Python3,但也许它也能正常工作

hex(0x70 / 3)
为我打印一个错误,因为它是一个带rest的除法。0x70=112(以10为基数)112/3=37,句点3。末尾的句点3不能用十六进制表示(据我所知)

如果使用除法而不使用休息,则将得到0x25

hex(0x70 // 3)
如果只计算其余部分,则将得到0x01

hex(0x70 % 3)
分母是固定的还是变化的?您可以使用不带剩余分母的结果或除法-1次,最后一次结果必须添加剩余除法的结果