Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Лекции последние с презентациями и вопросами / Лекция 4. Кодирование информации

.doc
Скачиваний:
145
Добавлен:
13.03.2016
Размер:
60.93 Кб
Скачать

Лекция 4. Основы машинной арифметики с двоичными числами.

Любая информация (числа, команды, записи и т. п.) представляется в ЭВМ в виде двоичных кодов фиксированной или переменной длины. Отдельные элементы двоичного кода, имеющие значение 0 или 1, называют разрядами или битами. Двоичный код состоящий из 8 разрядов носит название байта. Для записи чисел также используют 16-разрядный формат (машинное слово), 8-разрядный формат (полуслово) и 32-разрядный формат (двойное слово).

В ПК могут обрабатываться поля постоянной и переменной длины.

Поля постоянной длины:

слово - 2 байта

двойное слово - 4 байта

полуслово - 1 байт

расширенное слово - 8 байт

2.1 Коды чисел.

В ЭВМ в целях упрощения выполнения арифметических операций применяют специальные коды для представления чисел. Использование кодов позволяет свести операцию вычитания чисел к арифметическому сложению кодов этих чисел. Применяются прямой, обратный и дополнительный коды чисел. Прямой код используется для представления отрицательных чисел в запоминающем устройстве ЭВМ, а также при умножении и делении. Обратный и дополнительный коды используются для замены операции вычитания операцией сложения, что упрощает устройство арифметического блока ЭВМ. К кодам выдвигаются следующие требования:

1) Разряды числа в коде жестко связаны с определенной разрядной сеткой.

2) Для записи кода знака в разрядной сетке отводится фиксированный, строго определенный разряд.

Например, если за основу представления кода взят один байт, то для представления числа будет отведено 7 разрядов, а для записи кода знака один разряд.

Прямой код. Прямой код двоичного числа совпадает по изображению с записью самого числа. Значение знакового разряда для положительных чисел равно 0, а для отрицательных чисел 1.

Знаковым разрядом обычно является крайний разряд в разрядной сетке. В дальнейшем при записи кода знаковый разряд от цифровых условимся отделять запятой. Если количество разрядов кода не указано будем предполагать, что под запись кода выделен один байт.

Пример. В случае, когда для записи кода выделен один байт, для числа +1101 прямой код 0,0001101, для числа -1101 прямой код 1,0001101.

Обратный код. Обратный код для положительного числа совпадает с прямым кодом. Для отрицательного числа все цифры числа заменяются на противоположные (1 на 0, 0 на 1), а в знаковый разряд заносится единица.

Пример.

Для числа +1101 прямой код 0,0001101; обратный код 0,0001101.

Для числа -1101 прямой код 1,0001101; обратный код 1,1110010.

Дополнительный код. Дополнительный код положительного числа совпадает с прямым кодом. Для отрицательного числа дополнительный код образуется путем получения обратного кода и добавлением к младшему разряду единицы.

Пример.

Для числа +1101:

Прямой код

Обратный код

Дополнительный код

0,0001101

0,0001101

0,0001101

Для числа -1101:

Прямой код

Обратный код

Дополнительный код

1,0001101

1,1110010

1,1110011

Пример 4.9. Структурно запись числа -193(10)=-11000001(2) в разрядной сетке ПК выглядит следующим образом.

Число с фиксированной запятой формата слово со знаком:

 

Знак числа

Абсолютная величина числа

N разряда

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

Число

1

0

0

0

0

0

0

0

1

1

0

0

0

0

0

1

Число с плавающей запятой формата двойное слово:

 

Знак числа

Порядок

Мантисса

N разряда

31

30

29

28

27

26

25

24

23

22

21

20

19

18

17

16

15

...

1

0

Число

1

0

0

0

1

0

0

0

1

1

0

0

0

0

0

1

0

...

0

0

Двоично-кодированные десятичные числа могут быть представлены в ПК полями переменной длины в так называемых упакованном и распакованном форматах.

В упакованном формате для каждой десятичной цифры отводится по 4 двоичных разряда (полбайта), при этом знак числа кодируется в крайнем правом полубайте числа (1100 - знак "+" и 1101 - знак "-").

Структура поля упакованного формата:

Цф

Цф

Цф

Цф

. . .

Цф

Знак

Здесь и далее: Цф - цифра,Знак - знак числа.

Упакованный формат используетсяобычно в ПК при выполнении операций сложения и вычитания двоично-десятичных чисел.

В распакованном формате для каждой десятичной цифры отводится по целому байту, при этом старшие полубайты (зона) каждого байта (кроме самого младшего) в ПК заполняются кодом 0011. (в соответствии с ASCII-кодом), а в младших (левых) полубайтах обычным образом кодируются десятичные цифры. Старший полубайт (зона) самого младшего (правого) байта используется для кодирования знака числа.

Структура поля распакованного формата:

Зона

Цф

Зона

Цф

. . .

Зона

Цф

Знак

Цф

Распакованный формат используется в ПК при вводе-выводе информации в ПК, а также при выполнении операций умножения и деления двоично-десятичных чисел.

Пример 4.10. Число-193(10)=-000110010011(2-10) в ПК будет представлено:

в упакованном формате

0001

1001

0011

1101

в распакованном формате

0011

0001

0011

1001

1101

0011

КОДЫ ASCII

Распакованный формат представления двоично-десятичных чисел (иногда его называют "зонный") является следствием использования в ПК ASCII-кода для представления символьной информации.

Код ASCII (American Standard Code for Information Interchange - Американский стандартный код для обмена информацией) имеет основной стандарт и его расширение (табл. 4.3).Основной стандарт для кодирования символовиспользует шестнадцатеричные коды 00-7F,расширение стандарта - 80 -FF. Основной стандарт является международным и используется для кодирования управляющих символов, цифр и букв латинского алфавита; в расширении стандарта кодируются символы псевдографики и буквы национального алфавита (естественно, в разных странах разные).

Таблица 4.3. Таблица кодов ASCII