Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Стариченко Б.Е. Теоретические основы информатик...doc
Скачиваний:
2
Добавлен:
01.03.2025
Размер:
11.63 Mб
Скачать

4.2.4. Перевод чисел между системами счисления 2 ↔ 8 ↔ 16

Интерес к двоичной системе счисления вызван тем, что именно эта система используется для представления чисел в компьютере. Однако двоичная запись оказывается громоздкой, поскольку содержит много цифр, и, кроме того, она плохо воспринимается и запоминается человеком из-за зрительной однородности (все число состоит из нулей и единиц). Поэтому в нумерации ячеек памяти компьютера, записи кодов команд, нумерации регистров и устройств и пр. используются системы счисления с основаниями 8 и 16; выбор именно этих систем счисления обусловлен тем, что переход от них к двоичной системе и обратно осуществляется, как будет показано ниже, весьма простым образом.

Двоичная система счисления имеет основанием 2 и, соответственно, 2 цифры: 0 и 1.

Восьмеричная система счисления имеет основание 8 и цифры 0, 1.....7.

Шестнадцатеричная система счисления имеет основание 16 и цифры 0, 1, ..., 9, А, В, С, D, Е, F. При этом знак «А» является 16-ричной цифрой, соответствующей числу 10 в десятичной системе; В16 = 1110; С16 = 1210; D16 = 1310; Е16 = 1410; F16 = 1510. Другими словами, в данном случае А ... F - это не буквы латинского алфавита, а цифры 16-ричной системы счисления и поэтому они имеют только такое начертание (не могут быть представлены в виде, например, соответствующих строчных букв, как в текстах).

Пользуясь алгоритмами, сформулированными в разделе 4.2.1, можно заполнить табл. 4.1.

Докажем две теоремы.

Теорема 1. Для преобразования целого числа Zp Zq в том случае, если системы счисления связаны соотношением q = рr, где r - целое число большее 1, достаточно Zp разбить справа налево на группы по г цифр и каждую из них независимо перевести в систему q.

Доказательство:

Пусть максимальный показатель степени в записи числа р по форме (4.1) равен k - 1, причем, 2r > k -1 > r.

Таблица 4.1.

Вынесем множитель рr из всех слагаемых, у которых jr. Получим:

где

Таким образом, r-разрядные числа системы с основанием р оказываются записанными как цифры системы с основанием q. Этот результат можно обобщить на ситуацию произвольного k-1 > r - в этом случае выделится не две, а больше (т) цифр числа с основанием q. Очевидно, Zq = (bm b0 )q.

Пример 4.6

Выполнить преобразование Z2 = 1100012Z8. Исходное число разбивается на группы по три разряда справа налево (8 = 23, следовательно, r = 3) и каждая тройка в соответствии с таблицей 4.1. переводится в 8-ричную систему счисления независимо от остальных троек:

Следовательно, 1100012 = 618. Аналогично, разбивая Z2 на группы по 4 двоичные цифры и дополняя старшую группу незначащими нулями слева, получим 1100012= 3116.

Теорема 2. Для преобразования целого числа Zp → Zq в том случае, если системы счисления связаны соотношением р = qr, где r - целое число большее 1, достаточно каждую цифру Zp заменить соответствующим r-разрядным числом в системе счисления q, дополняя его при необходимости незначащими нулями слева до группы в r цифр.

Доказательство:

Пусть исходное число содержит две цифры, т.е.

Для каждой цифры справедливо: 0 ≤ ai р - 1 и поскольку р = qr, 0 ≤ ai qr-1, то в представлении этих цифр в системе счисления q максимальная степень многочленов (4.1) будет не более r - 1 и эти многочлены будут содержать по r цифр:

Тогда

причем, число Zq содержит 2r цифр. Доказательство легко обобщается на случай произвольного количества цифр в числе Zp.

Пример 4.7 Выполнить преобразование D316 Z2.

Переходы Z8 Z16 и Z16 Z8, очевидно, удобнее осуществлять через промежуточный переход к двоичной системе. Например, 1238 = 0010100112 = 5316.