haskell中的十六进制

时间:2014-10-20 19:04:27

标签: haskell hex

我想知道为什么在定义十六进制时然后使用公式 " ord x - ord' a' + 10"为什么使用+10?如果没有使用+10,它会给你什么?

2 个答案:

答案 0 :(得分:6)

如果没有+ 10,您可以将字母a到f映射到值0到5,而不是10到15。

答案 1 :(得分:2)

ord x - (ord 'a')为您提供<{1}}为0的{em>等级,'a'等等... 要将此 rank 转换为您需要添加10的hexa值,因此'b' =&gt; 10,a =&gt; 11等。

您希望b为10,因为在9之后(编码为'a')为10(编码为'9')。