Инструменты пользователя

Инструменты сайта


examination:computer_science:question10

Вопрос №10 Перевод целых чисел из одной системы счисления в другую

Общий принцип: чтобы перевести число в некоторую систему счисления с основанием M ( цифрами 0, …, M-1 ), иначе говоря, в M-ичную СС, нужно представить его в виде:

C = an * Mn + an-1 * Mn-1 + … + a1 * M + a0.

a1..n - цифры числа, из соответствующего диапазона. an - первая цифра, a0 - последняя.

Сравните эту запись с представлением числа, например, в десятичной системе.

Из системы с большим основанием - в систему с меньшим

Очевидно, чтобы найти такое представление, можно

1. разделить число нацело на M, остаток - a0.

2. взять частное и проделать с ним шаг 1, остаток будет a1… И так, пока частное не равно 0.

Искомое число будет записано в новой системе счисления полученными цифрами.

Из меньшего основания - к большему:

Просто вычисляем C = an * Mn + an-1 * Mn-1 + … + a1 * M + a0, где М - старое основание. Вычисления, естественно, идут в новой системе счисления.

examination/computer_science/question10.txt · Последние изменения: 2014/01/15 08:14 (внешнее изменение)