Информация и данные

Частный случай

Показывать лекцию целиком

Общий алгоритм перевода числа N из системы с основанием P в систему с основанием Q состоит в том, чтобы перевести N из системы P в десятичную систему, затем полученный результат перевести в систему Q.

В частном случае задачу можно существенно упростить. Когда? В том случае, если системы связаны соотношением: P = Qm. Этому соотношению удовлетворяют такие пары как (2, 4), (3, 9),

(3, 27), (4, 16). Более важно, что этому условию удовлетворяют такие пары, как (2, 8) и (2, 16). Это означает, что для двоичной, восьмеричной и шестнадцатеричной системы счисления, - систем, наиболее употребительных в компьютерной науке, перевод делается достаточно просто.

Сформулируем правила перевода. Пусть системы счисления связаны соотношением:

P = Qm

Для перевода числа N из системы P в систему Q достаточно каждую цифру числа N независимо перевести в систему Q, записав эту цифру с использованием m цифр системы Q. Старшие незначащие нули в полученной записи следует отбросить.

Пример: Перевести число N = FDC16 из шестнадцатеричной системы в двоичную систему:

F16 = 11112 D16 = 11012 C16 = 11002 N = 1111110111002

Пример: N = 11116

116 = 00012 N = 0001000100012 = 1000100012

N = 3178 38 = 0112 18 = 0012 78 = 1112 N = 011001112 N = 11001112

Сформулируем теперь правило перевода из Q в P (P = Qm)

Для перевода числа N из системы Q в систему P достаточно разбить число N на группы из m цифр, начиная с правого конца записи. При необходимости в последнюю группу добавить незначащие нули, дополнив группу до m цифр. Затем независимо перевести в систему P каждую группу, записав ее в виде одной цифры системы P.

Пример: N = 10101011112 Перевести N в шестнадцатеричную систему:

N = 10 1010 1111 = 0010 1010 1111 = 2AF16

N = 1 010 101 111 = 001 010 101 111 = 12578

Осталось понять, почему эти правила справедливы и всегда применимы, когда P = Qm. Вспомним базисное соотношение записи числа в позиционной системе:

N = ck * qk + ck-1 * qk-1 + … + c1 * q1 + c0 * q0

Будем считать, что эта запись сделана в системе Q (Q < P). Перепишем это соотношение, разбивая запись на группы из m слагаемых.

N = ck * qk + ck-1 * qk-1 + … + c1 * q1 + c0 * q0

Будем считать, что эта запись сделана в системе Q (Q < P). Перепишем это соотношение, разбивая запись на группы из m слагаемых.

N = (c0 + c1 * q + c2 * q2 + … + cm-1 * qm-1) + (cm + cm+1 * q + cm+2 * q2 + … + c2m-1 * qm-1)qm + … + (…) (qm)k

Каждая круглая скобка устроена одинаково и представляет некоторое число в системе Q. Каков диапазон этих чисел? Минимальное число получается, когда все цифры cj равны нулю. Тогда и число равно нулю. Максимальное число получается, когда все цифры cj равны максимальной цифре, а ее значение в системе Q равно q-1.

Обозначим это значение как Max и посчитаем его:

Max = (q – 1) * (1 + q + q2 + … + qm-1) = qm – 1 = p – 1

Следовательно, Max – это максимальная цифра в системе P, и каждой скобке в системе Q соответствует некоторая цифра в системе P.

Так что из разложения N в системе Q следует разложение в системе P

N = d0 + d1 * p + d2 * p2 + … + dk * pk,

Где dj – цифры системы P, заменяющие скобки.

Задачи для самостоятельной работы

  • Переведите число N = 11010111012 в шестнадцатеричную и восьмеричную систему;
  • Переведите число N = 1012 в шестнадцатеричную и восьмеричную систему;
  • Переведите число N = 111018 в двоичную систему;
  • Переведите число N = 45678 в двоичную систему;
  • Переведите число N = 456716 в двоичную систему;
  • Переведите число N = A1B916 в двоичную систему;
  • Переведите число N = 45678 в шестнадцатеричную систему;
  • Переведите число N = 456716 в восьмеричную систему;
  • Что больше A0016 или 111111111112? Попробуйте дать ответ, выполнив перевод только одной цифры.
  • Сравните 7FE16 и 111111111112
  • Вернуться к учебному плану