Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
оифтик 08-2012 готовый.docx
Скачиваний:
76
Добавлен:
11.05.2015
Размер:
7.45 Mб
Скачать

2.1.3. Кодирование чисел в эвм

В ЭВМ применяются 3 вида кодирования чисел:

– прямой код (ПК);

– дополнительный код (ДК);

– обратный код (ОК).

Особенности представления чисел в указанных кодах приведены в таблице 2.3.

Таблица 2.3. Виды кодирования чисел в ЭВМ

Знак числа x

Значение числа

в прямом коде

[x]пр

в дополнительном

коде [x]доп

в обратном коде

[x]обр

x ≥ 0

x

x

x

x< 0

10N+|x|

xгр–|x|

xmax–|x|

В таблице 2.3 применены следующие обозначения:

x – значение числа,

N – количество разрядов в целой части числа,

10 – основание системы счисления (но не число «10»),

xгр – граничное число = | xmax | + 10 = xN,

xmax– максимальное число = | x max| = 10N-1

k – количество разрядов в дробной части числа.

Как видно из таблицы 2.3, положительные числа во всех кодах записываются одинаково.

Для перевода отрицательного числа в дополнительный код необходимо:

– записать в знаковом разряде 1 (–);

– во всех других разрядах цифры заменить на взаимнообратные;

– добавить «1» к младшему разряду.

Для перевода отрицательного числа в обратный код необходимо выполнить 2 первых шага:

– записать в знаковом разряде 1 (–);

– заменить цифры во всех остальных разрядах на взаимнообратные.

Применение дополнительного или обратного кода позволяет:

– заменить операцию вычитания на операцию сложения;

– автоматически определить знак результата, так как знаковые разряды также участвуют в операции сложения. При этом при возникновении переноса при сложении знаковых разрядов при использовании дополнительного кода единица переноса отбрасывается, а при использовании обратного кода единица переноса из знакового разряда циклически добавляется к младшему разряду суммы.

2.1.4. Форматы данных, применяемые в эвм

Числовая информация внутри ЭВМ кодируется и представляется в двоичной или двоично-десятичной системах счисления. При вводе и выводе любой информации используются специальные коды – коды ASCII, эти же коды применяются для кодирования буквенной и символьной информации внутри ЭВМ.

Для удобства работы введены следующие термины для обозначения совокупностей двоичных разрядов, приведенные в таблице 2.4.

Таблица 2.4.

Количество двоичных разрядов в группе

Наименование единицы измерения

Примечания

1

Бит

8

Байт

16

Параграф

В ПК

8∙1024 = 210

Кбайт (килобайт)

8∙10242 =220

Мбайт (мегабайт)

8∙10243 =230

Гбайт (гигабайт)

8∙10244 =240

Тбайт (терабайт)

8∙10245 =250

Пбайт (петабайт)

Последовательность нескольких битов или байтов часто называют полем данных.

Биты в числе (в слове, поле и т.д.) нумеруются справа налево, начиная с 0-разряда.

Принятые для ЭВМ общего назначения и ПК, совместимых с ПК IBM PC, поля постоянной длины приведены в таблице 2.5.

Таблица 2.5.

Длина поля

(байт)

Наименование поля

Примечания

в ЭВМ общего назначения

в ПК

1 байт

байт

полуслово

2 байта

полуслово

слово

4 байта

слово

двойное слово

8 байт

двойное слово

расширенное слово

16 байт

учетверенное слово

В форме с ФТ числа чаще всего имеют формат слова или полуслова; числа с ПТ – формат двойного или расширенного слова (математические сопроцессоры IBM PC могут работать с 10-байтными словами).

Поля переменной длины могут иметь любой размер от 0 до 255 байтов, но обязательно равный целому числу байтов.

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

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

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

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

Структура некоторых рассмотренных выше форматов данных и формата представления чисел в форме с плавающей точкой приведена на рисунке 2.1.

а)

0

1

2

3

4

5

6

7

б)

0-й байт

1-й байт

0

7

8

15

в)

0-й байт

1-й байт

2-й байт

3-й байт

0

7

8

15

16

23

24

31

г)

зн

двоичные цифры

0 1

31

д)

зн

порядок

мантисса

0

7

8

31

е)

цифра

цифра

цифра

цифра

цифра

цифра

цифра

знак

ж)

зона

цифра

зона

цифра

зона

цифра

знак

цифра

Рисунок 2.1. Форматы некоторых данных

а - нумерация бит в байте; б - нумерация байтов в полуслове (слове для ПК); в - нумерация байтов в слове (двойном слове для ПК); г - формат числа с ФТ; д - формат числа с ПТ (короткий); е - упакованный формат десятичного числа; ж - распакованный формат десятичного числа.

Наряду с кодом ASCII (American Standard Code Information Interchange – американский стандартный код для обмена информацией) в вычислительных системах, в частности, в сети Internet, используется общий для всех стран мира универсальный код Unicode, который основан на паре байтов – машинном слове. 16 бит хватает для отображения 65535 знаков. Этого достаточно для всех существующих алфавитов (т.е. алфавиты большинства стран мира размещаются в основном стандарте этого кода [2]).

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]