这可能是非常令人费解和扭曲的想法。在学习一些JavaScript时得到了它。它激发了我的想法。希望可能有其他人以前想过或可能启发我:-)

var n = 17;

binary_string = n.toString(2);        // Evaluates to "10001"
octal_string = "0" + n.toString(8);   // Evaluates to "021"
hex_string = "0x" + n.toString(16);   // Evaluates to "0x11"

这使我更多地探究了基础。我记得我的数字工程课程,并了解到,从10个数字开始,将开始从“ A”,“ B”开始命名。

例如:

var n = 10;
var y = 11;
string = n.toString(12); // Evaluates to 'a'
string = y.toString(12); // Evaluates to 'b'

然后我知道这可能会上升为“ z”

var n = 35;
string = n.toString(36); // Evaluates to "z"

但这似乎是结局。如果我们这样做

var n = 35;
string = n.toString(37); // Gives error Error: illegal radix 37 { message="illegal radix 37", more...}

因此,我相信我们只能计算为36的基础。由于对于基本37计数系统,由于我们用尽了英语字符,因此我们无法计算36。无论如何我们可以做到吗?也许我们可以添加其他字符。

我知道这是非常无用的事情,我们永远都不会需要它。

但是有人已经考虑过吗?

有帮助吗?

解决方案

在这里看到我的问题。 基础36之后使用了哪些符号

其他提示

是的,当然可以做到,只是与JavaScript的 toString 功能。

您只需要确定要用于数字的字符即可。尽管有一些既定标准,但这在很大程度上是任意的。例如,请参见 基础64, ASCII85 等等

当然可以做到,数字库是完全任意的(在此之后使用英语字母 9 只是一个共同的惯例)。 Number#toString 专门设计用于处理基础2至36:

可选 radix 应为2至36范围内的整数值。

规格, ,第15.7.4.2节。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top