提问者:小点点

加法/减法十六进制


如何添加/减去用户输入的十六进制数?

喜欢:

basehex = input()
sechex = input()

sum = hex(basehex - sechex)



print(sum)

I get:TypeError:不支持的操作数类型-:“str”和“str”

我该怎么做?我必须将它们转换为int吗?那么我不能将它们作为十六进制(0xFFFFFF)...?

我唯一能做的就是:

basehex = int('255')
sechex = int('255')

sum = hex(basehex - sechex)



print(sum)

但这要求我输入basehex/sechex作为数字,因为int不会接受其他形式的数字:

ValueError: invalid literal for int() with base 10: 'ff'

谢谢:)


共1个答案

匿名用户

感谢@Peri461

basehex = input()
sechex = input()

basehexin = int(basehex, 16)
sechexin = int(sechex, 16)



sum = basehexin - sechexin



print(hex(sum))

这段代码将通过将十六进制转换为十进制,减去它们,然后再次将它们转换(表示)为十六进制来实现。