当前位置: 首页 > 知识库问答 >
问题:

加法/减法十六进制

劳法
2023-03-14

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

喜欢:

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个答案

农诚
2023-03-14

感谢@Peri461

basehex = input()
sechex = input()

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



sum = basehexin - sechexin



print(hex(sum))

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

 类似资料:
  • 我有一个基于应用程序的计算器,我面临着两个十六进制基数之间的减法问题。如果是一个(大的数字减去一个小的数字),它会给出正确的结果。问题是当操作(小数字减去大数字)例如:(1-22或1a-22)应用程序崩溃并关闭时。 十六进制方法是: 除法运算的第二个问题是它给出了(结果=0),而不是0.12324,零后没有小数。 我如何解决这个代码?

  • 问题内容: 如何将十进制转换为以下格式的十六进制(至少两位,零填充,没有0x前缀)? 输入: 输出: 输入: 输出: 我尝试过,但似乎它显示了第一个示例,但没有显示第二个示例。 问题答案: 将该功能与格式一起使用。 该部分要求使用至少2位数字,并使用零将其填充到长度,表示小写的十六进制。 的 格式规范的迷你语言 也给你大写十六进制输出,并且可以前缀字段宽度与以包括或前缀(取决于你阉羊使用或作为格式

  • 问题内容: 如何将RGB格式的颜色转换为十六进制格式,反之亦然? 例如,转换为。 问题答案: 注 :这两个版本的期待整数值,并且,所以你需要,如果你有非整数值做自己的舍入。 以下将执行RGB到十六进制的转换,并添加任何所需的零填充: 转换另一种方式: 最后,在答案中讨论并在@cwolves的评论中建议使用的替代版本: 更新 这是它的一个版本,还解析了一个速记的三元组,例如“#03F”:

  • 本文向大家介绍C语言中十六进制转十进制两种实现方法,包括了C语言中十六进制转十进制两种实现方法的使用技巧和注意事项,需要的朋友参考一下 C语言 · 十六进制转十进制 问题描述   从键盘输入一个不超过8位的正的十六进制数字符串,将它转换为正的十进制数后输出。   注:十六进制数中的10~15分别用大写的英文字母A、B、C、D、E、F表示。 样例输入 FFFF 样例输出 65535 思路:感觉自己的

  • 我需要转换十六进制- 当我运行这个错误实际上是显示我需要的值但我不能得到它 groovy.lang.的方法:静态java.lang.我nteger.parseInt()适用于参数类型:(java.math.大整数,java.lang.整数)值:[28855032353026779507009821653742961358,...]可能的解决方案:parseInt(java.lang.String,

  • 问题内容: 我这里有一个将十进制转换为十六进制的函数,但它以相反的顺序打印。我该如何解决? 问题答案: 如果要自己编写此代码而不是使用内置函数,则可以在打印当前数字之前简单地进行递归调用: