Естественные науки

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

Вот например надо мне перевести число десятичное n в число системы основание которой корень из двух.
Разделить число на корень из двух. Получите ваше число в вашей системе счисления...
Юлия Рахимова
Юлия Рахимова
56 359
Лучший ответ
Общего решения не существует.

См. о многих вариантах в https://habr.com/ru/post/302178/

Там есть и о системе с основанием √2, но алгоритм в явном виде не выписан, хотя идею его построения там можно усмотреть.

Но составлять его весьма занудно, так что сам.
KK
Kamran Kalaev
56 444
Сергей Шендецов Там в основном про систему счисления с основанием, равным золотому сечению.
Прикольный вопросик... Но даже на него, как ни парадоксально, существует ответ.
Значит, что такое система счисления, вообще говоря? Это способ представить число А в виде суммы
А = 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.
Не вижу проблем, раздели во дворе 0,5 литра на троих, и таки без конфликтов.
@@@@ @@@@
@@@@ @@@@
2 044

Похожие вопросы