这可能是一个非常复杂和扭曲的想法。在学习一些 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 的基数从 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,因为我们用尽了英文字符。无论如何我们可以做到吗?也许我们可以添加其他字符。
我知道这是非常没用的东西,而且我们在生活中永远不需要它。
但是有没有人已经考虑过了?