Файл: Могилев А.В. Информатика.pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 31.03.2021

Просмотров: 6576

Скачиваний: 50

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
background image

 

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 цифры (самая левая группа может содержать менее трех двоичных цифр), а за-
тем каждой группе поставить в соответствие ее восьмеричный эквивалент. Например: 


background image

 

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 Соответствие чисел в различных системах счисления 

 

Десятичная 

Шестнадцатиричная 

Восьмеричная 

Двоичная 

10 

11 

100 

101 

110 

111 

10 

1000 

11 

1001 

10 

А 

12 

1010 

11 

В 

13 

L011 

12 

С 

14 

1100 

13 

15 

1101 

14 

16 

1110 

15 

17 

1111 

 
Преобразования чисел из двоичной в восьмеричную и  шестнадцатиричную  системы и на-

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

Арифметические действия с числами в восьмеричной и шестнадцатиричной системах счис-

ления выполняются по аналогии с двоичной и десятичной системами. Для этого необходимо вос-
пользоваться соответствующими таблицами. Для примера табл. 1.7 иллюстрирует сложение и ум-
ножение восьмеричных чисел. 

Рассмотрим  еще  один  возможный  способ  перевода  чисел  из  одной  позиционной  системы 

счисления в другую - 

метод вычитания степеней.

 В этом случае из числа последовательно вычи-

тается максимально допустимая степень требуемого основания, умноженная на максимально воз-
можный коэффициент, меньший основания; этот коэффициент и является значащей цифрой числа 
в новой системе. Например, число 114(

10

): 

 


background image

 

28 

114 - 2

= 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

= 50 – 48 = 2, 

2 – 2 ∙ 8° = 2 – 2 = 0.  
 
Итак, 114(

10

)= 162(

8

). 

 

Таблица 1.7 Таблицы сложения и умножения в восьмеричной системе 

 

Сложение    

 

 

Умножение 

 

Контрольные вопросы

 

1. В чем отличие позиционной системы счисления от непозиционной? 
2. Каковы способы перевода чисел из одной системы счисления в другую? 
3. В чем заключается преимущество использования восьмеричной и шестнадцатиричной систем счисле-

ния в вычислительной технике? 

4. Как выглядят таблицы сложения и умножения в шестнадцатиричной системе? 

 

§ 4. КОДИРОВАНИЕ ИНФОРМАЦИИ. 

 

4.1. АБСТРАКТНЫЙ АЛФАВИТ 

 

Информация передается в виде сообщений. Дискретная информация записывается с помо-

щью некоторого конечного набора знаков, которые будем называть буквами, не вкладывая в это 
слово привычного ограниченного значения (типа «русские буквы» или «латинские буквы»). Буква 
в данном расширенном понимании - любой из знаков, которые некоторым соглашением установ-
лены для общения. Например, при привычной передаче сообщений на русском языке такими зна-
ками будут русские буквы - прописные и строчные, знаки препинания, пробел; если в тексте есть 
числа  -  то  и  цифры.  Вообще,  буквой  будем  называть  элемент  некоторого  конечного  множества 
(набора) отличных друг от друга знаков. Множество знаков, в котором определен их порядок, на-
зовем алфавитом (общеизвестен порядок знаков в русском алфавите: А, Б,..., Я). 

Рассмотрим некоторые примеры алфавитов. 
1, Алфавит прописных русских букв: 
А Б В Г Д Е Е Ж З И Й К Л М Н О П Р С Т У Ф Х Ц Ч Ш Щ Ъ Ы Ь Э Ю Я  
2. Алфавит Морзе: 


background image

 

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. КОДИРОВАНИЕ И ДЕКОДИРОВАНИЕ 

 
В канале связи сообщение, составленное из символов (букв) одного алфавита, может пре-


background image

 

30 

образовываться в сообщение из символов (букв) другого алфавита. Правило, описывающее одно-
значное соответствие букв алфавитов при таком преобразовании, называют кодом. Саму процеду-
ру  преобразования  сообщения  называют  перекодировкой.  Подобное  преобразование  сообщения 
может  осуществляться  в  момент  поступления  сообщения  от  источника  в  канал  связи  (кодирова-
ние)  и  в  момент  приема  сообщения  получателем  (декодирование).  Устройства,  обеспечивающие 
кодирование и декодирование, будем называть соответственно кодировщиком и декодировщиком. 
На  рис.  1.5  приведена  схема,  иллюстрирующая  процесс  передачи  сообщения  в  случае  перекоди-
ровки, а также воздействия помех (см. следующий пункт). 

 

Рис. 1.5. Процесс передачи сообщения от источника к приемнику 

 
Рассмотрим некоторые примеры кодов. 
1. Азбука Морзе в русском варианте (алфавиту, составленному из алфавита русских заглав-

ных букв и алфавита арабских цифр ставится в соответствие алфавит Морзе): 

 

2. Код Трисиме (знакам латинского алфавита ставятся в соответствие комбинации из трех 

знаков: 1,2,3): 

А  111 

121 

131 

J211 

M221 

P231 

S311 

V321 

Y331 

В  112 

122 

132 

K212 

N222 

Q232 

T312 

W322 

Z332 

С  113 

123 

133 

L213 

О223 

R233 

U313 

X323 

.333 

Код Трисиме является  примером,  так  называемого, равномерного кода (такого, в котором 

все кодовые комбинации содержат одинаковое число  знаков  - в данном случае три). Пример не-
равномерного кода - азбука Морзе. 

3. Кодирование чисел знаками различных систем счисления см. §3. 

 

4.3. ПОНЯТИЕ О ТЕОРЕМАХ ШЕННОНА 

 

Ранее отмечалось, что при передаче сообщений по каналам связи могут возникать помехи, 

способные  привести  к  искажению  принимаемых  знаков.  Так,  например,  если  вы  попытаетесь  в 
ветреную  погоду  передать  речевое  сообщению  человеку,  находящемуся  от  вас  на  значительном 
расстоянии, то оно может быть сильно искажено такой помехой, как ветер. Вообще, передача со-
общений при наличии помех является серьезной теоретической и практической задачей. Ее значи-
мость возрастает в связи с повсеместным внедрением компьютерных телекоммуникаций, в кото-
рых помехи неизбежны. При работе с кодированной информацией, искажаемой помехами, можно 
выделить следующие основные проблемы: установления самого факта того, что произошло иска-
жение информации; выяснения того, в каком конкретно месте передаваемого текста это произош-
ло; исправления ошибки, хотя бы с некоторой степенью достоверности. 

Помехи в передачи информации - вполне обычное дело во всех сферах профессиональной 

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