Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
lections.doc
Скачиваний:
258
Добавлен:
13.03.2016
Размер:
1.4 Mб
Скачать

7. Внутреннее представление данных в памяти эвм

Информация в ЭВМ записывается в форме цифрового двоичного кода, т. к. элементы из которых строится память, могут находиться в двух устойчивых состояниях 0 и 1. Двоичное кодирование используется для представления как числовой, так и текстовой, графической, звуковой информации. Форматы представления данных в памяти компьютера определяют диапазоны значений, которые эти данные могут принимать, скорость их обработки, объем памяти, который требуется для хранения этих данных.

В ЭВМ используются следующие формы представления данных:

  • числа с фиксированной точкой;

  • числа с плавающей точкой;

  • символы.

7.1. Числа с фиксированной точкой.

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

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

Все числа, которые хранятся в памяти компьютера, занимают определенное число двоичных разрядов. Это количество определяется форматом числа. Обычно для представления целых чисел используют несколько форматов. В IBM-совместимых ПК поддерживается три формата: байт (8 разрядов), слово (16 разрядов), двойное слово (32 разряда). Целые числа вписываются в разрядную сетку, соответствующую формату. Для целых чисел разрядная сетка имеет вид:

n-1

n-2

n-3

2

1

0

S

. . .

где - разряды двоичной записи целого числа,S- разряд, отведенный для представления знака числа. Для положительных чисел знак кодируется цифрой 0, а для отрицательных – цифрой 1 (прямой код). Разделитель между целой и дробной частью зафиксирован после, дробной части нет.N- количество двоичных разрядов в разрядной сетке. Если количество разрядов в сетке оказывается больше, чем количество цифр в числе, то старшие разряды заполняются нулями. Например, числов формате байта (8 бит) запишется так:

7

6

5

4

3

2

1

1

0

0

0

0

1

0

1

1

знак

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

7.2. Числа с плавающей точкой

Для представления вещественных чисел используется форма чисел с плавающей точкой. Такое представление основано на записи числа в экспоненциальном виде: - нормальная форма. Нормальная форма представления чисел неоднозначна. Например, десятичное числоможно представитьДля однозначности используется нормализованная форма, в которой положение точки всегда задается перед первой значащей цифрой мантиссы, т.е. мантисса должна быть меньше 1 и первая значащая цифра – не ноль (0.7328 х 102). В память ПК мантисса представляется как целое число, содержащее только значащие цифры (0 целых и запятая не хранятся). Следовательно, внутреннее представление вещественного числа сводится к представлению пары чисел: мантиссы и порядка. Таким образом часть разрядов памяти, отводимой под вещественное число используется для хранения порядка числа р, а остальные - разряды для хранения мантиссы:

Порядок числа и мантисса хранятся в двоичном коде. Точность вычислений зависит от длины мантиссы, а порядок числа определяет допустимый диапазон представления действительных чисел. В IBM-совместимых компьютерах используется три формата представления данных в форме с плавающей точкой (32 разряда, 64 разряда и 80 разрядов), позволяющие определить три диапазона для положительных вещественных чисел: от 1,5х10-45до 3,4х1038, от 5х10-324до 1,7х10308 и от 1,9х10-4951до 1,1х104932. Для представления положительных чисел в знаковый разряд записывается 0, а для отрицательных - 1.

В качестве примера рассмотрим внутреннее представление вещественного числа в 4-х байтовой ячейке памяти.

31

24

23

0

Знак

Порядок

Мантисса

В старшем бите первого байта хранится знак числа (0 –«+», 1 – «-»). Оставшиеся 7 бит отводятся под машинный порядок. В следующих трех байтах хранятся значащие цифры мантиссы (24 разряда).

В семи двоичных разрядах помещаются двоичные числа в диапазоне от 0000000 до 1111111. Следовательно, машинный порядок изменяется в диапазоне от 0 до 27. Порядок может быть и положительным и отрицательным (-64 до 63).

Машинный порядок смещен относительно математического порядка и имеет только положительные значения. Минимальному математическому значению порядка соответствует 0: Мр=р+64.

В двоичной СС эта формула имеет вид:

Мр22+100 00002

Пример: Записать внутреннее представление числа 250,1875 в форме с плавающей точкой.

  1. Переведем число в 2-ю СС.

250,1875=1111 1010, 0011 0000 0000 00002(24 значащие цифры)

2. Запишем в форме нормализованного числа с плавающей точкой

0, 1111 1010 0011 0000 0000 00002х 1021000

3. Вычислим машинный порядок в двоичной СС.

Мр2=1000+100 0000= 100 1000

4. Запишем представление числа с учетом знака в 4-байтовой ячейке памяти:

31

30

29

28

27

26

25

24

23

22

21

20

19

18

17

16

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

1

0

0

1

0

0

0

1

1

1

1

1

0

1

0

0

0

1

1

0

0

0

0

0

0

0

0

0

0

0

0

4 байт

3 байт

2 байт

1 байт

Особенности представления вещественных чисел в памяти ПК определяет свойства машинных чисел: при переводе дробной части десятичного числа в формат с плавающей точкой происходит его округление до количества разрядов, определяемых длинной мантиссы. Ограниченная длина мантиссы приводит к погрешности при выполнении операций – лишние разряды отсекаются или происходит округление чисел.

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