Система нумерации base-9 - это система, которая использует девять цифр для представления чисел.То есть
231,085 = 2 × 10 5
+ 3 × 10 4
+ 1 × 10 3
+ 0 × 10 2
+ 8 × 10 1
+ 5 × 10 0
в основании-10 система, иначе система десятичной нумерации.Но в системе base-9 вы записываете ее в виде целых кратных степеней 9, а не 10, как показано выше:
381,881 = 3 × 9 5
+ 8 × 9 4
+ 1 × 9 3 (кстати, ваш инструктор дал вам неправильный номер. Это 381 881, а не 382 871)
+ 8 × 9 2
+ 8 × 9 1
+ 1 × 9 0
Обратите внимание, что коэффициенты степеней 10 впредставление base-10 (то есть 2, 3, 1, 0, 8 и 5) всегда является одной из десяти десятичных цифр (от нуля до девяти).Аналогично, коэффициенты степеней 9 в представлении base-9 (3, 8, 1, 8, 8, 1) всегда являются одной из девяти десятичных цифр (от нуля до восьми).Что-нибудь еще, и вы должны были бы перенести это, как вы узнали в добавлении многозначных чисел в начальной школе.
Теперь, для алгоритма преобразования представления base-10 в base-9,Сначала взглянем на Преобразование десятичного числа в двоичное , которое преобразуется из base-10 в base-2.Единственное отличие состоит в том, что вы делите на степени 9, а не на 2, как этот вопрос.
Следуя примеру в связанном вопросе,
[231085] [53938] [1450] [721] [73] [1]
÷59049 ÷6561 ÷729 ÷81 ÷9 ÷1
[3] [8] [1] [8] [8] [1]
Если вы хотитечтобы систематически разбивать целое число-10 на цифры, вы должны следовать следующему шаблону:
- Разделите число на 10 (основание).
- Остальная часть деления будет следующей наименьшей значащей цифрой.
- Повторяйте с новым разделенным числом (т.е. частным от деления шага 1), пока частное не достигнет 0.
Итак, для 231 085 итерации выглядят следующим образом:
Step: 1 2 3 4 5 6
-------------------------------------------------------------
Number: 231,085 23,108 2,310 231 23 2
÷10 ÷10 ÷10 ÷10 ÷10 ÷10
-------------------------------------------------------------
Quotient: 23,108 2,310 231 23 2 0 <-- Quotient reached 0, so stop
Remainder: 5 8 0 1 3 2
Как видно, остаток на каждом шаге - это следующая наименьшая значащая цифра в числе 231 085.Это означает, что 5 является наименее значимой цифрой.Затем идет 8, что на самом деле 8 × 10 = 80 и 10> 1;затем 0 × 100 и 100> 10 и т. д.
Теперь, если бы вы делили на 9 на каждом шаге вместо 10, как указано выше, таблица будет выглядеть примерно так:
Step: 1 2 3 4 5 6
-------------------------------------------------------------
Number: 231,085 25,676 2,852 316 35 3
÷9 ÷9 ÷9 ÷9 ÷9 ÷9
-------------------------------------------------------------
Quotient: 25,676 2,852 316 35 3 0
Remainder: 1 8 8 1 8 3
И теперь остатки в обратном порядке представления base-9 числа base-10 231,085.
Этот ответ фактически не дает вам код для базового преобразования, но основная логикаописанный выше, и алгоритм существует по всему Интернету (возможно, для разных баз, но все, что вам нужно изменить, - это база в подразделении).