Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ГЛАВА 1-2.doc
Скачиваний:
48
Добавлен:
13.03.2016
Размер:
366.08 Кб
Скачать

Форматы чисел в памяти пк

Формат

данных

Число байт

Число значащих десятичных цифр

Диапазон

значений

короткое вещественное DD

4

6–7

±1.2×10-38÷3.4×1038

длинное вещественное DQ

8

15–16

±2.3×10-308÷1.8×10308

расширенное вещественное DT

10

19–20

±3.4×10-4932÷1.2×104932

целое слово IW

2

4–5

(-32768) ÷(+32767)

короткое целое ID

4

9

- 231 ÷ 231-1

длинное целое IQ

8

18

- 263 ÷ 263-1

S

характеристика

мантисса

DD

S

характеристика

мантисса

DQ

31 30 23 22 0 63 62 52 51 0

S

характеристика

мантисса

DT

79 78 64 63 0

S

IW

S

ID

15 14 0 31 30 0

S

IQ

63 62 0

Вещественные числа в каждом из трех форматов имеют три поля: поле знака мантиссы S, поле порядка и поле мантиссы. Мантисса числа записывается в нормализованном виде:

1.m1m2 … mi.

Целая часть, всегда равная 1, прямо не представляется в форматах DD и DQ, а учитывается неявно. В формате DT старший бит мантиссы представляется явно.

Порядок вещественных чисел Е записывается в поле порядка в смещенном виде. Он равен истинному порядку, увеличенному на значение смещения:

Е = истинный порядок+ смещение.

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

Значение смещения для соответствующих форматов равно 127, 1023 и 16383:

(-1)S×(1. m1m2 … m23)×2E-127 для DD;

(-1)S×(1. m1m2 … m52)×2E-1023 для DQ;

(-1)S×(1. m1m2 … m64)×2E-16383 для DT.

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

Представление целых чисел в пк

Чтобы получить внутреннее представление целого положительного числа N, нужно:

  1. перевести число N в двоичную систему счисления,

  2. полученный результат дополнить слева незначащими нулями до полного заполнения формата целого числа.

Пример. Получить внутреннее представление 9710.

97|16 9710=6116=0110 00012

  1. 6

1

0

000 0000 0110 0001

15 14 0

Используя шестнадцатеричную систему, этот код можно написать в 4 раза короче:

0061.

Для записи внутреннего представления целого отрицательного числа -N, нужно:

  1. получить внутреннее представление целого положительного числа N;

  2. получить обратный код этого числа заменой 0 на 1 и 1 на 0 (инвертирование);

  3. к полученному числу прибавить 1 – получается дополнительный код.

При сложении числа в дополнительном коде с его положительным значением знаковые разряды складываются как единое целое вместе с числом. Перенос единицы из знакового разряда выходит за пределы ячейки памяти и теряется. Следовательно: N + (-N) = 0, как и должно быть.

Примеры:

1.Получить внутреннее представление -710.

1)Перевод: 710=1112;

2)

1

000 0000 0000 0111

15 14 0

3)

1

111 1111 1111 1000

15 14 0

4)

1

111 1111 1111 1001

15 14 0

В шестнадцатеричной форме: FFF9.

2. Сложим два числа +710 и –710.

0000 0000 0000 0111

+7

-7

0

1111 1111 1111 1001

1

0000 0000 0000 0000

Представление вещественных чисел в пк

  1. Перевести A10 → A2.

  2. Нормализовать число.

  3. Выполнить смещение порядка.

  4. Перевести смещенный порядок Е10 → Е2.

  5. Записать число в подходящем формате.

Пример. Число 98.4 записать во внутреннем представлении.

  1. 98 |16 9810 = 6216 =0110 00102 ; ×|2 98.410 = 0110 0010.001100112 ;

  1. 6 0|4

0|8

1|6

1|2

0|4

  1. 1.1000 1001 1001… ×26 ;

  2. Е10 = 127+6=133;

  1. 133 |16 13310=8516 =1000 01012 ;

128 8

5

5) Подходящий формат DD.

0

100 0010 1

100 0100 1100 1000 0000 0000

=> 42C4C800

31 30 23 22 0