Есть ли предел для базы, к которой могут быть привязаны числа? - PullRequest
2 голосов
/ 21 октября 2010

Это может быть очень запутанная и искаженная идея. Получил это, изучая немного 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, поскольку исчерпали английские символы. Есть ли в любом случае мы можем сделать это? Может быть, мы можем добавить других персонажей.

Я знаю, что это очень бесполезная вещь, и никогда в жизни она нам никогда не понадобится.

Но кто-нибудь уже думал об этом?

Ответы [ 3 ]

2 голосов
/ 21 октября 2010
1 голос
/ 21 октября 2010

Вы , безусловно, можете это сделать, базы чисел совершенно произвольны (использование английского алфавита после 9 - это просто общее соглашение).Number#toString специально разработан для обработки от базы 2 до 36:

Необязательный radix должен быть целым значением в диапазоне от 2 до 36.

С Спецификация , раздел 15.7.4.2.

1 голос
/ 21 октября 2010

Да, конечно, это можно сделать, но не с помощью функции JavaScript toString.

Вам просто нужно решить, какие символы использовать для ваших цифр.Это в значительной степени произвольно, хотя есть некоторые установленные стандарты.См., Например, Base64 , Ascii85 и т. Д.

...