我如何加/减用户输入的十六进制数?
喜欢:
basehex = input()
sechex = input()
sum = hex(basehex - sechex)
print(sum)
我得到:TypeError: unsupported operand type(s) for -: 'str' and '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'
谢谢 :)
最佳答案
感谢@Peri461
basehex = input()
sechex = input()
basehexin = int(basehex, 16)
sechexin = int(sechex, 16)
sum = basehexin - sechexin
print(hex(sum))
此代码将通过将十六进制转换为十进制、减去它们,然后再次将它们转换(表示)为十六进制来完成此操作。
关于python - 加/减十六进制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45640652/