ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 31.03.2021
Просмотров: 6576
Скачиваний: 50
26
Над числами, записанными в любой системе счисления, можно; производить различные
арифметические операции. Так, для сложения и умножения двоичных чисел необходимо исполь-
зовать табл. 1.5.
Таблица 1.5. Таблицы сложения и умножения в двоичной системе
Заметим, что при двоичном сложении 1 + 1 возникает перенос единицы в старший разряд -
точь-в-точь как в десятичной арифметике:
3.3. ВОСЬМЕРИЧНАЯ И ШЕСТНАДЦАТИРИЧНАЯ
СИСТЕМЫ СЧИСЛЕНИЯ
С точки зрения изучения принципов представления и обработки информации в компьюте-
ре, обсуждаемые в этом пункте системы представляют большой интерес.
Хотя компьютер «знает» только двоичную систему счисления, часто с целью уменьшения
количества записываемых на бумаге или вводимых с клавиатуры компьютера знаков бывает удоб-
нее пользоваться восьмеричными или шестнадцатиричными числами, тем более что, как будет по-
казано далее, процедура взаимного перевода чисел из каждой из этих систем в двоичную очень
проста - гораздо проще переводов между любой из этих трех систем и десятичной.
Перевод чисел из десятичной системы счисления в восьмеричную производится (по анало-
гии с двоичной системой счисления) с помощью делений и умножений на 8. Например, переведем
число 58,32(
10
):
58 : 8 = 7
(2 в остатке),
7 : 8 = 0
(7 в остатке).
0,32 • 8 = 2,56,
0,56 • 8 = 4,48,
0,48-8=3,84,...
Таким образом,
58,32(
10
) =72,243... (
8
)
(из конечной дроби в одной системе может получиться бесконечная дробь в другой).
Перевод чисел из десятичной системы счисления в шестнадцатеричную производится ана-
логично.
С практической точки зрения представляет интерес процедура взаимного преобразования
двоичных, восьмеричных и шестнадцатиричных чисел. Для этого воспользуемся табл. 1.6 чисел от
0 до 15 (в десятичной системе счисления), представленных в других системах счисления.
Для перевода целого двоичного числа в восьмеричное необходимо разбить его справа нале-
во на группы по 3 цифры (самая левая группа может содержать менее трех двоичных цифр), а за-
тем каждой группе поставить в соответствие ее восьмеричный эквивалент. Например:
27
11011001= 11011001, т.е. 11011001(
2
) =331(
8
).
Заметим, что группу из трех двоичных цифр часто называют «двоичной триадой».
Перевод целого двоичного числа в шестнадцатиричное производится путем разбиения дан-
ного числа на группы по 4 цифры - «двоичные тетрады»:
1100011011001 = 1 1000 1101 1001, т.е. 1100011011001(
2
)= 18D9(
16
).
Для перевода дробных частей двоичных чисел в восьмеричную или шестнадцатиричную
системы аналогичное разбиение на триады или тетрады производится от точки вправо (с дополне-
нием недостающих последних цифр нулями):
0,1100011101(
2
) =0,110 001 110 100 = 0,6164(
8
),
0,1100011101(
2
) = 0,1100 0111 0100 = 0,C74(
16
).
Перевод восьмеричных (шестнадцатиричных) чисел в двоичные производится обратным
путем - сопоставлением каждому знаку числа соответствующей тройки (четверки) двоичных
цифр.
Таблица 1.6 Соответствие чисел в различных системах счисления
Десятичная
Шестнадцатиричная
Восьмеричная
Двоичная
0
0
0
0
1
1
1
1
2
2
2
10
3
3
3
11
4
4
4
100
5
5
5
101
6
6
6
110
7
7
7
111
8
8
10
1000
9
9
11
1001
10
А
12
1010
11
В
13
L011
12
С
14
1100
13
D
15
1101
14
E
16
1110
15
F
17
1111
Преобразования чисел из двоичной в восьмеричную и шестнадцатиричную системы и на-
оборот столь просты (по сравнению с операциями между этими тремя системами и привычной нам
десятичной) потому, что числа 8 и 16 являются целыми степенями числа 2. Этой простотой и объ-
ясняется популярность восьмеричной и шестнадцатиричной систем в вычислительной технике и
программировании.
Арифметические действия с числами в восьмеричной и шестнадцатиричной системах счис-
ления выполняются по аналогии с двоичной и десятичной системами. Для этого необходимо вос-
пользоваться соответствующими таблицами. Для примера табл. 1.7 иллюстрирует сложение и ум-
ножение восьмеричных чисел.
Рассмотрим еще один возможный способ перевода чисел из одной позиционной системы
счисления в другую -
метод вычитания степеней.
В этом случае из числа последовательно вычи-
тается максимально допустимая степень требуемого основания, умноженная на максимально воз-
можный коэффициент, меньший основания; этот коэффициент и является значащей цифрой числа
в новой системе. Например, число 114(
10
):
28
114 - 2
6
= 114 – 64 = 50,
50
-
2
5
=
50 – 32 = 18,
18 - 2
4
= 2,
2 - 2
1
= 0.
Таким образом, 114(
10
) = 1110010(
2
).
114 – 1 ∙ 8
2
= 114 – 64 = 50,
50 – 6 ∙ 8
1
= 50 – 48 = 2,
2 – 2 ∙ 8° = 2 – 2 = 0.
Итак, 114(
10
)= 162(
8
).
Таблица 1.7 Таблицы сложения и умножения в восьмеричной системе
Сложение
Умножение
Контрольные вопросы
1. В чем отличие позиционной системы счисления от непозиционной?
2. Каковы способы перевода чисел из одной системы счисления в другую?
3. В чем заключается преимущество использования восьмеричной и шестнадцатиричной систем счисле-
ния в вычислительной технике?
4. Как выглядят таблицы сложения и умножения в шестнадцатиричной системе?
§ 4. КОДИРОВАНИЕ ИНФОРМАЦИИ.
4.1. АБСТРАКТНЫЙ АЛФАВИТ
Информация передается в виде сообщений. Дискретная информация записывается с помо-
щью некоторого конечного набора знаков, которые будем называть буквами, не вкладывая в это
слово привычного ограниченного значения (типа «русские буквы» или «латинские буквы»). Буква
в данном расширенном понимании - любой из знаков, которые некоторым соглашением установ-
лены для общения. Например, при привычной передаче сообщений на русском языке такими зна-
ками будут русские буквы - прописные и строчные, знаки препинания, пробел; если в тексте есть
числа - то и цифры. Вообще, буквой будем называть элемент некоторого конечного множества
(набора) отличных друг от друга знаков. Множество знаков, в котором определен их порядок, на-
зовем алфавитом (общеизвестен порядок знаков в русском алфавите: А, Б,..., Я).
Рассмотрим некоторые примеры алфавитов.
1, Алфавит прописных русских букв:
А Б В Г Д Е Е Ж З И Й К Л М Н О П Р С Т У Ф Х Ц Ч Ш Щ Ъ Ы Ь Э Ю Я
2. Алфавит Морзе:
29
3. Алфавит клавиатурных символов ПЭВМ IBM (русифицированная клавиатура):
4. Алфавит знаков правильной шестигранной игральной кости:
5. Алфавит арабских цифр:
0 1 2 3 4 5 6 7 8 9
6. Алфавит шестнадцатиричных цифр:
0 1 2 3 4 5 6 7 8 9 A B C D E F
Этот пример, в частности, показывает, что знаки одного алфавита могут образовываться из
знаков других алфавитов.
7. Алфавит двоичных цифр:
0 1
Алфавит 7 является одним из примеров, так называемых, «двоичных» алфавитов, т.е. алфа-
витов, состоящих из двух знаков. Другими примерами являются двоичные алфавиты 8 и 9:
8. Двоичный алфавит «точка, «тире»:. _
9. Двоичный алфавит «плюс», «минус»: + -
10. Алфавит прописных латинских букв:
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
11. Алфавит римской системы счисления:
I V Х L С D М
12. Алфавит языка блок-схем изображения алгоритмов:
13. Алфавит языка программирования Паскаль (см. в главе 3).
4.2. КОДИРОВАНИЕ И ДЕКОДИРОВАНИЕ
В канале связи сообщение, составленное из символов (букв) одного алфавита, может пре-
30
образовываться в сообщение из символов (букв) другого алфавита. Правило, описывающее одно-
значное соответствие букв алфавитов при таком преобразовании, называют кодом. Саму процеду-
ру преобразования сообщения называют перекодировкой. Подобное преобразование сообщения
может осуществляться в момент поступления сообщения от источника в канал связи (кодирова-
ние) и в момент приема сообщения получателем (декодирование). Устройства, обеспечивающие
кодирование и декодирование, будем называть соответственно кодировщиком и декодировщиком.
На рис. 1.5 приведена схема, иллюстрирующая процесс передачи сообщения в случае перекоди-
ровки, а также воздействия помех (см. следующий пункт).
Рис. 1.5. Процесс передачи сообщения от источника к приемнику
Рассмотрим некоторые примеры кодов.
1. Азбука Морзе в русском варианте (алфавиту, составленному из алфавита русских заглав-
ных букв и алфавита арабских цифр ставится в соответствие алфавит Морзе):
2. Код Трисиме (знакам латинского алфавита ставятся в соответствие комбинации из трех
знаков: 1,2,3):
А 111
D
121
G
131
J211
M221
P231
S311
V321
Y331
В 112
E
122
H
132
K212
N222
Q232
T312
W322
Z332
С 113
F
123
I
133
L213
О223
R233
U313
X323
.333
Код Трисиме является примером, так называемого, равномерного кода (такого, в котором
все кодовые комбинации содержат одинаковое число знаков - в данном случае три). Пример не-
равномерного кода - азбука Морзе.
3. Кодирование чисел знаками различных систем счисления см. §3.
4.3. ПОНЯТИЕ О ТЕОРЕМАХ ШЕННОНА
Ранее отмечалось, что при передаче сообщений по каналам связи могут возникать помехи,
способные привести к искажению принимаемых знаков. Так, например, если вы попытаетесь в
ветреную погоду передать речевое сообщению человеку, находящемуся от вас на значительном
расстоянии, то оно может быть сильно искажено такой помехой, как ветер. Вообще, передача со-
общений при наличии помех является серьезной теоретической и практической задачей. Ее значи-
мость возрастает в связи с повсеместным внедрением компьютерных телекоммуникаций, в кото-
рых помехи неизбежны. При работе с кодированной информацией, искажаемой помехами, можно
выделить следующие основные проблемы: установления самого факта того, что произошло иска-
жение информации; выяснения того, в каком конкретно месте передаваемого текста это произош-
ло; исправления ошибки, хотя бы с некоторой степенью достоверности.
Помехи в передачи информации - вполне обычное дело во всех сферах профессиональной
деятельности и в быту. Один из примеров был приведен выше, другие примеры - разговор по те-
лефону, в трубке которого «трещит», вождение автомобиля в тумане и т.д. Чаще всего человек
вполне справляется с каждой из указанных выше задач, хотя и не всегда отдает себе отчет, как он
это делает (т.е. неалгоритмически, а исходя из каких-то ассоциативных связей). Известно, что ес-