Как перевести число из десятичной системы в ирациональную систему счисления?

Вот например надо мне перевести число десятичное n в число системы основание которой корень из двух.
4 года назад от maxim chesnov

1 ответ

0 голосов
Прикольный вопросик. Но даже на него, как ни парадоксально, существует ответ.
Значит, что такое система счисления, вобще говоря? Это способ представить число А в виде суммы
А = a0*p^0 + a1*p^1 + a2*p^2 + .
где а0, а1 и т. д. - это цифры, представляющие число, начиная с младшего разряда (на практике порядок другой - младший разряд будет самой правой цифрой числа) , р - основание системы счисления. Ясен пень, что число цифр до запятой, то есть сколько цифр будет в целой части числа, зависит от сотношения основания системы счисления и исходного числа, то есть будет равно целой части логарифма n по основании системы счисления плюс ещё одна цифра.
Что ещё нам понадобится: что цифры такого представления не могут превышать основания системы счисления. То есть для основания корень из 2 цифры будут 0 и 1 (следующе целое - 2 - уже превышает основание) . Если б основание было пи, то цифры были бы 0, 1, 2, 3.
Ну а дальше рекурсия. Самый старщий разряд, понятное дело, - 1 (ну не ноль же, не может же число начинаться с нуля) . Чтобы определить следующий разряд, надо отнять от исходного числа основание системы в уменьшенной на 1 степени, сответствующей старшинству старшего разряда, умноженное на сответствующую цифру (1; в общем случае может быть другая цифра) . К примеру, если мы хотим представить 10 в системе с основанием корень из 2, то число цифр будет 7 (целая часть логарифма 10 по этому основанию = 6) , сответственно отнимать надо корень из 2 в 6 степени. Получится 2.
Следующему разряду сответствует пятая степень основания. Ясен пень, что это больше остатка, так что следующая цифра - 0. Следующая опять 0. И следующая ноль (потому что корень из 2 в третьей степени всё ещё больше 2) . А следующая цифра уже равне 1, потому что корень из 2 в квадрате равен 2. Окей, вычтем корень из 2 в квадрате (что сответствует весу этого разряда в числе) из того, что осталось, то есть из 2. Но это не последня цифра, потому что есть ещё первый и нулевой разряды (самые младшие) . Ну поскольку у нас в после последнего вычитания получился ноль, то остатние два разряда тоже нули.
Итого представление 10 в системе с основанием корень из 2 будет 1000100.
4 года назад от алексанДР ГЕЙМЕР

Связанные вопросы