Hex添加有一些限制

时间:2014-03-08 21:57:07

标签: python-3.x hex

我正在尝试编写一个函数,该函数将采用两个十六进制字符串并以十六进制值返回它们的和。 现在,我不允许使用“int()”或“.decode”或导入任何模数,但是以旧方式对每个数字进行求和(就像我们小时候一样) 问题是我不知道如何将两个字符串值添加为十六进制值 比如数字是“15b”和“ba5”所以我想“把它们”像  15B +

BA5

但现在我如何让python知道什么是“b”+“5”。

任何想法?建议? THX!

1 个答案:

答案 0 :(得分:0)

Python确实知道"b" + "5"是什么,它是"b5"

要将这些十六进制字符映射到整数,您可以使用字典:

hexmap = {"1": 1, ..., "a": 10, ...}

要处理所有数字,请记住反向字符串的索引是16的幂:

decimal = sum(16**i * hexmap(s) for i, s in enumerate(reversed(hexstring)))

然后,您可以将两个整数一起添加。这比试图处理额外的更多更容易。 b + 9