python - 加/减十六进制

标签 python

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

喜欢:

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/

相关文章:

python - 埃拉托斯特尼筛法遗漏了一些复合 Material

python - 属性错误 : module 'urllib' has no attribute 'parse'

python - 读取大型 csv 文件中特定列的最有效方法

python - Azure ML 管道失败并出现 ImportError : cannot import name 'time_ns' error

python - 如何使用 Flask WTF 获取 QuerySelectField 当前值

python - 从 Rhino3d 导出图层为 obj

python - Django 检查是否在基于类的 View 中的 super 用户

Python - 列表变量的范围

python - 如何让别人用我的.py文件来测试呢?

python - 对于 numpy 数组的每一行,将特定元素设置为 n