加减十六进制

2024-04-26 11:18:02 发布

您现在位置:Python中文网/ 问答频道 /正文

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

比如:

basehex = input()
sechex = input()

sum = hex(basehex - sechex)



print(sum)

我得到:类型错误:不支持的操作数类型-:'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'

谢谢:)


Tags: 用户类型input错误数字intsumprint
1条回答
网友
1楼 · 发布于 2024-04-26 11:18:02

感谢@Peri461

basehex = input()
sechex = input()

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



sum = basehexin - sechexin



print(hex(sum))

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

相关问题 更多 >