转换为高基数

时间:2015-06-12 04:43:29

标签: c++ base

我在C ++中编写一个程序,你输入一个数字,它列出了该数字是回文的所有基数。我坚持的是如何为更高的基础做什么,例如:

Converting 170 to base 90,

170 % 90 = 1 R 80
1 % 90 = 0 R 1

因此,由于剩余80高于字母Z(即35),你会怎么做?

我似乎无法找到任何转换到这么高的转换器以测试应该发生什么,所以如果有人能指出我也会非常有帮助。

2 个答案:

答案 0 :(得分:2)

由于程序实际上不必显示转换的数字以找到回文,因此它可以在内部表示每个"数字"作为int(在数组中)是32位或64位。这自然会很快,因为如果不是罕见的话,这种匹配可能是不常见的。

找到回文匹配后,无论如何都可以输出它。也许只需打印一个int值列表。看看history of hexadecimal:在早期有各种不寻常的方案,其中一些使用特殊字符。

高达64基数有一些共同的标准,但除此之外,你处于很大程度上未知的领域。

答案 1 :(得分:1)

标准方式,对于最多36个基数,就是你所说的:使用越来越多的字母。

在这种情况下,为什么不使用空格作为分隔符或逗号?每个数字都用十进制整数表示。它比提出四十四个新符号更具可读性。