Часть 7 Вопросы 19-21
Экономичность системы счисления.
Под
экономичностью системы счисления
будем понимать то количество чисел, которое можно записать в данной системе
с помощью определенного количества цифр.
Речь в данном случае идет не о количестве разрядов, а
об общем количестве сочетаний цифр, которые интерпретируются как различные
числа. Поясним на примере: пусть в нашем распоряжении имеется 12 цифр. Мы
можем разбить их на 6 групп по 2 цифры («0» и «1») и получить шестиразрядное
двоичное число; общее количество таких чисел, как уже неоднократно
обсуждалось, равно 26.
Можно разбить заданное количество цифр на 4 группы по три цифры и
воспользоваться троичной системой счисления – в этом случае общее количество
различных их сочетаний составит 34.
Аналогично можно произвести другие разбиения; при этом число групп определит
разрядность числа, а количество цифр в группе – основание системы счисления.
Результаты различных разбиений можно проиллюстрировать таблицей:
Основание системы счисления (p)
|
2
|
3
|
4
|
6
|
12
|
Разрядность числа (k)
|
6
|
4
|
3
|
2
|
1
|
Общее количество различных чисел (N)
|
26 = 64
|
34 = 81
|
43 = 64
|
62 = 36
|
121 = 12
|
Из приведенных оценок видно, что
наиболее экономичной оказывается
троичная система счисления, причем, результат будет тем же, если
исследовать случаи с другим исходным количеством цифр.
Точное расположение максимума экономичности может
быть установлено путем следующих рассуждений. Пусть имеется
n знаков для записи чисел, а
основание системы счисления p.
Тогда количество разрядов числа k =
n/p , а общее количество чисел
(N), которые могут быть
составлены, равно:

|
|
(10)
|
Если считать
N(p) непрерывной функцией, то можно найти то значение
pm, при котором
N принимает максимальное значение. Функция имеет вид,
представленный на
рис.3.

Зависимость количества чисел от
основания системы счисления при использовании 12-ти возможных цифр для
записи чисел.
Для нахождения положения максимума нужно найти
производную функции N(p),
приравнять ее к нулю и решить полученное уравнение относительно
p.

|
|
(11)
|
Приравнивая полученное выражение к нулю, получаем
ln p = 1, или
pm = e, где
e=2,71828… – основание натурального логарифма. Ближайшее к
e целое число, очевидно,
3 – по этой причине троичная система счисления оказывается самой
экономичной для представления чисел. В 60-х годах в нашей стране была
построена вычислительная машина «Сетунь», которая работала в троичной
системе счисления. Предпочтение все же отдается двоичной системе, поскольку
по экономичности она оказывается второй за троичной, а технически она
реализуется гораздо проще остальных. Таким образом, простота технических
решений оказывается не единственным аргументом в пользу применения двоичной
системы в компьютерах.
Перевод чисел из 2-чной системы счисления в систему с
основанием 8 и 16 и обратно.
Интерес к двоичной системе счисления вызван тем, что
именно эта система используется для представления чисел в компьютере. Однако
двоичная запись оказывается громоздкой, поскольку содержит много цифр, и,
кроме того, она плохо воспринимается и запоминается человеком из-за
зрительной однородности (все число состоит из нулей и единиц). Поэтому в
нумерации ячеек памяти компьютера, записи кодов команд, нумерации регистров
и устройств и пр. используются
системы счисления с основаниями 8 и 16; выбор именно этих систем счисления
обусловлен тем, что переход от них к двоичной системе и обратно
осуществляется, как будет показано ниже, весьма простым образом.
Двоичная система счисления имеет основанием 2 и, соответственно, 2 цифры:
0 и 1.
Восьмеричная система счисления имеет основание 8 и цифры 0,
1,…, 7.
Шестнадцатеричная система счисления имеет основание 16 и цифры
0, 1, …, 9, A, B, C, D, E, F. При этом знак
«A» является 16-ричной
цифрой, соответствующей числу 10
в десятичной системе; B16
= 1110; С16 = 1210; D16 = 1310;
E16 = 1410; F16 = 1510.
Другими словами, в данном случае A
… F - это не буквы латинского алфавита, а цифры 16-ричной системы
счисления и поэтому они имеют только такое начертание (не могут быть
представлены в виде, например, соответствующих строчных букв, как в
текстах).
Пользуясь алгоритмами, сформулированными в разделе
4.2.1, можно заполнить таблицу:
Представление чисел в системах счисления
|
10-ная
|
2-ная
|
8-ричная
|
16-ричная
|
0
|
0
|
0
|
0
|
1
|
1
|
1
|
1
|
2
|
10
|
2
|
2
|
3
|
11
|
3
|
3
|
4
|
100
|
4
|
4
|
5
|
101
|
5
|
5
|
6
|
110
|
6
|
6
|
7
|
111
|
7
|
7
|
8
|
1000
|
10
|
8
|
9
|
1001
|
11
|
9
|
10
|
1010
|
12
|
A
|
11
|
1011
|
13
|
B
|
12
|
1100
|
14
|
C
|
13
|
1101
|
15
|
D
|
14
|
1110
|
16
|
E
|
15
|
1111
|
17
|
F
|
Теорема 1. Для преобразования целого
числа Zp
Zq в том случае, если системы
счисления связаны соотношением q = pr, где r - целое число
большее 1, достаточно Zp разбить справа налево на группы по r
цифр и каждую из них независимо перевести в систему q.
Пример 6
Выполнить преобразование
Z2 = 1100012
Z8. Исходное
число разбивается на группы по три разряда справа налево (8
= 23, следовательно,
r = 3) и каждая тройка в
соответствии с
таблицей
4.1. переводится в 8-ричную систему
счисления независимо от остальных троек:

Следовательно,
1100012 = 618 . Аналогично, разбивая
Z2 на группы по 4
двоичные цифры и дополняя старшую группу незначащими нулями слева, получим
1100012= 3116.
Теорема 2. Для преобразования целого
числа Zp
Zq в том случае, если системы
счисления связаны соотношением p = qr, где r - целое число
большее 1, достаточно каждую цифру Zp заменить соответствующим
r-разрядным числом в системе счисления q, дополняя его при необходимости
незначащими нулями слева до группы в r цифр.
Пример 7 Выполнить преобразование D316
Z2.

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