Модифицированный код числа.

Лекция №6

Представление чисел в компьютере: естественная и нормальная формы. Алгебраическое представление двоичных чисел: прямой, обратный и дополнительный коды.

План

1. Естественная и нормальная формы.

2. Прямой, обратный и дополнительный коды.

1. Представление чисел в компьютере: естественная и нормальная формы.

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

• естественная форма, или форма с фиксированной запятой (точкой) — ФЗ (ФТ);

• нормальная форма, или форма с плавающей запятой (точкой) - ПЗ (ПТ).

Фиксированная запятая (точка). В форме представления с фиксированной запятой (точкой) числа изображаются в виде последовательности цифр с постоянным для всех чисел положением запятой, отделяющей целую часть от дробной.

Например, пусть числа представлены в десятичной системе счисления и имеют пять разрядов в целой части числа (до запятой) и пять в дробной части (после запятой). Числа, записанные в такую разрядную сетку, имеют вид:

+00721.35500.

+00000.00328.

-10301.20260.

Эта форма наиболее проста, естественна, но имеет небольшой диапазон представления чисел и поэтому чаще всего неприемлема при вычислениях.

В компьютерах естественная форма представления используется как вспомогательная и только для целых чисел.

В памяти ЭВМ числа с фиксированной точкой хранятся в трех форматах:

а) полуслово — это обычно 16 бит, или 2 байта;

б) слово — 32 бита, или 4 байта;

в) двойное слово — 64 бита, или 8 байтов.
Отрицательные числа с ФТ записываются в разрядную сетку в дополнительных кодах, которые образуются прибавлением единицы к младшему разряду обратного кода. Обратный код получается заменой единиц на нули, а нулей на единицы в прямом двоичном коде.

Плавающая запятая (точка). Вформе представления с плавающей запятой (точкой) число изображается в виде двух групп цифр:

• мантисса;

• порядок.

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

N=±M*P±r,

где М — мантисса числа (|М\ < 1); r — порядок числа (целое число); Р — основание системы счисления.

Например, приведенные ранее числа в нормальной форме запишутся следующим образом:

+0,721355 *103;

+0,328 * 10-3;

-0,103012026 * 105.

Нормальная форма представления обеспечивает большой диапазон отображения чисел и является основной в современных компьютерах.

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

Нормализованнымназывают такое число, старший разряд мантиссы которого больше нуля. У нормализованных двоичных чисел, следовательно, 0,5 < | М\ < 1.

Нормализованные, т. е. приведенные к правильной дроби, числа:

10,3510= 0,103510 *10+2;

0,000072458=0,72458*8-4;

F5C,9B16=0,F5C9B,6*16+3;

В памяти ЭВМ числа с ПТ хранятся в двух форматах:

• слово — 32 бита, или 4 байта;

• двойное слово — 64 бита, или 8 байт.

Разрядная сетка для чисел с ПТ имеет следующую структуру:

• нулевой разряд — это знак числа (0 — «минус», 1 — «плюс»);

• с 1 по 7 разряд записывается порядок в прямом двоичном коде, пустые разряды заполняются нулями. В первом разряде указывается знак порядка (1 — «плюс» или 0 — «минус»);

• с 8 по 31 (63) указывается мантисса, слева направо без нуля целых в прямом двоичном коде и для отрицательных чисел и пустые разряды заполняются нулями.

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

При хранении информации в памяти ЭВМ каждый вид хранится в одном разряде памяти, а разряды объединяются в ячейки памяти фиксированного размера. При записи цифр с фиксированной точкой, положение точки фиксируется в определенном месте относительно к разрядам числа. При приставлении числа со знаком для кода, выделяется знаковый разряд (обычно крайний слева) «+» = 0 и «-» = 1 – кодируется.

Прямой код числа.

а = +0101 модифицированный код числа. - student2.ru = 0.0101

в = -1010 модифицированный код числа. - student2.ru = 1.1010

Прямой код числа совпадает с записью положительного числа.

Пример:

Рассмотрим однобайтовое представление двоичного числа. Пусть это будет 28(10). В двоичном формате - 0011100(2) (при однобайтовом формате под величину числа отведено 7 разрядов). Двоичное число со знаком будет выглядеть так, как показано на рис. 2.1.

модифицированный код числа. - student2.ru

Рис. 2.1. Формат двоичного числа со знаком в прямом коде

а - положительное число; б - отрицательное

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

Обратный код числа.

а = +0101 модифицированный код числа. - student2.ru = 0.0101

Обратный код положительного числа совпадает с прямым кодом.

в = -1010 модифицированный код числа. - student2.ru = 1.0101

Обратный код отрицательного числа образуется так:

1. В знаковом разряде 1.

2. В цифровых разрядах 1заменяется на 0, а 0на 1.

Пример:

Вычислить выражение -3(10) -2(10).

модифицированный код числа. - student2.ru

Пример:

Вычислить 7(10) -3(10).

модифицированный код числа. - student2.ru

Указанные трудности привели к тому, что в современных ЭВМ абсолютное большинство операций выполняется в дополнительном коде.

Дополнительный код числа.

а = +0101 модифицированный код числа. - student2.ru = 0.0101

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

в = -1010 модифицированный код числа. - student2.ru = модифицированный код числа. - student2.ru

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

1. В знаковом разряде 1.

2. В цифровом разряде 1заменяется на 0, а 0на 1.

3. К последнему разряду прибавляется 1.

Модифицированный код числа.

Отличается тем, что для изображения знака числа в нем отводится два разряда (положительная кодировка 00, отрицательная 11). Такие коды оказа­лись удобны (с точки зрения построения АЛУ) для выявления переполнения раз­ряд­ной сетки. Если знаковые разряды результата прини­ма­ют значение 00 и 11, то переполнения разрядной сетки не было, а если 01 или 10 - то было пере­пол­не­ние.

а = -11001 в = +11001

модифицированный код числа. - student2.ru = 11.00110 модифицированный код числа. - student2.ru = 00.11001

модифицированный код числа. - student2.ru = модифицированный код числа. - student2.ru модифицированный код числа. - student2.ru = 00.11001

Пример:

модифицированный код числа. - student2.ru

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

1. Какие две формы представления чисел применяются в ЭВМ?

2. Как изображаются числа в форме с фиксированной запятой (точкой)?

3. Как изображаются числа в форме с плавающей запятой (точкой)?

4. Что такое нормализованное число?

5. В каких двух форматах хранятся числа с плавающей запятой (точкой) в памяти ЭВМ?

6. Приведите примеры записи прямого кода числа для положительных и отрицательных чисел.

7. Как образуется обратный код отрицательного числа?

8. Как образуется дополнительный код отрицательного числа?

9. Чем отличается модифицированный код числа от остальных кодов?

Наши рекомендации