Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Архитектура вечер 2012.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
706.05 Кб
Скачать
      1. Представление числовых данных в вм.

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

  • естественная форма, или форма с фиксированной точкой;

  • нормальная форма, или форма с плавающей точкой.

        1. Числа в форме с фиксированной точкой.

В форме представления с фиксированной точкой числа изображаются в виде последовательности цифр с постоянным для всех чисел положением точки, отделяющей целую часть от дробной. Запись числа включает в себя знак числа и его модуль в P-ичном коде. Для современных ВМ характерна двоичная система, но иногда используются восьмеричная (Р=8) и шестнадцатеричная (Р=16) системы счисления. Знак положительного числа кодируется двоичной цифрой 0, знак отрицательного числа – цифрой 1. Разряд кода числа называется знаковым разрядом кода. Разряды, в которых расположены значащие цифры числа, называются цифровыми разрядами кода. Положение фиксированной точкой определяется при конструировании ВМ, для точки разряд не выделяется, в процессе решения задач положение фиксированной точкой не меняется. В общем случае разрядная сетка ВМ для размещения чисел с плавающей точкой имеет вид, представленный на рис. 2.2, где m разрядов используются для представления целой части число и s разрядов для дробной, общее количество разрядов n. Эта форма наиболее проста и естественна, но имеет небольшой диапазон представления чисел. В современных компьютерах данная форма представления используется c целыми (s=0) либо с дробными (m=0) числами. Обработка смешанных чисел (содержат целую и дробную часть) в ВМ встречается редко, так как требуется ввод масштабирующих коэффициентов для учета проведения вычислений с данными, имеющими разные порядки.

Целая часть числа

Дробная часть числа

P-1

P-2

P-s

Pm-1

P1

P0

Знак

a m-1

. . .

a1

a0

a-1

a-2

. . .

a-s

Рис. 2.2. Формат представления чисел с фиксированной точкой

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

        1. Числа в форме с плавающей точкой

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

Абсолютная величина мантиссы должна быть меньше единицы, а порядок - целым числом. В общем виде число представляется как N = ± m * S p где, m –мантисса числа N (дробная часть), S – основание системы счисления, P – целое число (порядок числа, показывает положение точки в числе).

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

Дробь, у которой первая цифра после запятой отлична от нуля, называется правильной.

Примеры записи чисел в нормализованном виде:

-10.3510 = -0.103510 *10+2 ;

0.000072458 = 0.7245*8-4 ;

FED4.6A16 = 0.FED46A16 *16+4.

На рис. 2.6 приведена форма представления чисел с плавающей точкой, использовавшаяся в первых ВМ с данный форматом чисел.

6 7 8 31

1

0

Знак порядка

Порядок

Знак мантиссы

Мантисса

а) одинарный формат

1

0

6 7 8 63 31

Знак порядка

Порядок

Знак мантиссы

Мантисса

б) двойной (удвоенная точность) формат

Рис. 2.6. Форма представления чисел с плавающей точкой

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

Для упрощения операций над порядками в большинстве ВМ применяют так называемый смещенный порядок или экспоненту. Для этого к истинному порядку добавляется целое положительное число – смещение. Обычно смещение выбирается равным половине представимого диапазона порядков. В настоящее время для всех ВМ рекомендуемым является формат представления чисел с плавающей точкой, определенный стандартом IEEE 754. Этот стандарт был разработан для обеспечения переносимости программ с одного процессора на другие, он применяется практически во всех процессорах и математических сопроцессорах. На рис. 2.7 приведены основные форматы IEEE 754 для одинарной и двойной точности.

0 1 8битов 8 9 23 бита 31

Знак числа Порядок (экспонента) Мантисса

а) одинарный;

0 1 11 битов 11 12 52 бита 63

Знак числа Порядок (экспонента) Мантисса

б) двойной

Рис. 2.7. Основные форматы IEEE 754

Знак мантиссы занимает 1 разряд, принимает значения 0 для плюса, 1 для минуса. Смещенный порядок (экспонента) занимает 8 (11) разрядов, знака не имеет. Минимальная экспонента 0, максимальная - 255 для одинарной точности и 2047 для удвоенной точности. Экспонента не используется для ненормализованных чисел. Значение экспоненты 1 соответствует -126 (-1024). Значение экспоненты равное 0 соответствует единичному значению старшего разряда экспоненты или 100000002 для одинарной точности и 100000000002 для удвоенной точности. Мантисса, значащая часть числа, занимает 24 для одинарной точности и 53 бита для двойной точности. В стандарте IEEE 754 под мантиссу отводится 23 (52) бита, но так как мантисса является нормализованной и ее первый разряд всегда должен быть равен 1, то при записи в память первый единичный разряд отбрасывается и под мантиссу отводится на 1 разряд меньше.

На рис. 2.8 приводится пример записи числа -19310 =-110000012 в разрядную сетку ВМ для форматов с фиксированной и плавающей точкой.

110000012=0.110000012* 28 - нормализованный вид числа -19310 . Экспонента порядка 8 равна 100010002 . Первая единица разряда поля порядок означает, что порядок положительный. Первая «1» мантиссы в памяти не хранится.

Знак

числа

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

N разряда

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

Число

1

0

0

0

0

0

0

0

1

1

0

0

0

0

0

1

а) формат с фиксированной точкой

Знак

числа

Порядок

Мантисса

N разряда

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

30

31

Число

1

1

0

0

0

1

0

0

0

1

0

0

0

0

0

1

0

0

0

б) формат с плавающей точкой

Рис. 2.8. Пример записи числа -19310 =-110000012 в разрядную сетку ВМ для форматов с фиксированной и плавающей точкой.

Стандарт предусматривает два расширенных формата (одинарный и двойной), фактический вид которых зависит от конкретной реализации. Расширенные форматы предусматривают увеличение диапазона порядка и мантиссы.