如何添加/减去用户输入的十六进制数?加/减十六进制
像:
basehex = input()
sechex = input()
sum = hex(basehex - sechex)
print(sum)
我得到:类型错误:不支持的操作数类型(S) - : '海峡' 和 '海峡'
我该怎么办呢?我必须将它们转换为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'
感谢: )
如果你想要一个非10的基数,你需要明确地将['base'参数](https://docs.python.org/3/library/functions.html#int)传递给'int'。 – user2357112
您的变量类型有冲突。你的输入是以不能算术的字符串形式出现的,这就是为什么你用'int'将它转换为整数的原因。从那里你可以通过执行print(hex(sum))来再次打印十六进制结果(这是一个_representation_) – Peri461