2015-02-13 4 views
0

Я не знаю, как подойти к нему, но кто-то может мне помочь преобразовать следующие числа в их десятичную:Как преобразовать числа в их десятичное представление?

enter image description here

и

enter image description here

+1

Я голосую, чтобы закрыть этот вопрос не по теме, потому что это не о программировании. –

+0

Надеюсь, я мог бы убедить, что мне действительно нужна помощь в этом :( – Steve

+0

456 (7) - это 4 * 7 * 7 + 5 * 7 + 6. Вы должны иметь возможность получить более общее правило, а затем алгоритм. – didierc

ответ

1

Общий метод выходит что-то вроде этого :

Работая справа налево, вы хотите подсчитать позиции (начиная с нуля) и суммировать условия в соответствии со следующей формулой:

Скажите, что вы работаете в базе x. Тогда, если вы в ой позиции я, и что цифра d, то, что позиция будет способствовать срок г раз х^я к конечной сумме.

В качестве конкретного примера возьмите свой первый номер - здесь, x = 7 (база). Начиная с правой стороны, первая цифра равна d = 6 на i = 0 позиция. Итак, мы начинаем с 6 * (7^0) = 6 (1) = 6.

Перемещение влево, = 1 и д = 5. Таким образом, мы получаем 5 (7^1) = 5 (7) = 35 за этот термин.

Затем, двигаясь по последней цифре, я = 2 и д = 4. Таким образом, мы получаем 4 * (7^2) = 4 (49) = 196 за последний срок.

Теперь вы можете добавить все это, чтобы получить 35 + 6 + 196 = 237 в качестве вашего последнего номера (в базе 10, то есть).

Точный же алгоритм работает для любой базы, поэтому вы должны иметь возможность применять его к двоичному числу точно так же.

(Просто дайте х = 2 и работать справа налево, отметив, что я колеблется от 0 до 7 здесь.)

+0

Большое спасибо Заку. – Steve

Смежные вопросы