为什么有Java基数限制?

时间:2011-11-12 17:31:01

标签: java

我注意到Java中基数的最大限制是36。 这是一个任意限制,还是Java有理由以这种方式限制基数?

5 个答案:

答案 0 :(得分:10)

这是十进制数字(10)加上字母表中的字母数(26)。

如果允许37的基数,则必须选择一个新角色来代表第37位。虽然肯定会可能选择一些角色,但没有明显的选择。只是禁止更大的基数是有道理的。

答案 1 :(得分:1)

非常简单:26个字母+10个数字= 36个。

为了表示数字,传统上使用数字和拉丁字母。

答案 2 :(得分:1)

For completeness, I would add that there are two constants defined in JDK:

Character.MIN_RADIX
Character.MAX_RADIX

答案 3 :(得分:0)

如果输出必须是可读的,则基数限制是有意义的。 在各种情况下,输出不需要是可读的。 因此,在这种情况下,更高的限制将有所帮助。 而java语言基数限制是java的弱点。

答案 4 :(得分:0)

您可以使用RFC 4648和RFC 2045中指定的Base64编码方案。

只需根据需要生成int int的字节表示,以与大多数实现Base64的库兼容。