Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
учебник Информатика.doc
Скачиваний:
3
Добавлен:
01.07.2025
Размер:
17 Мб
Скачать
☆

Формы представления вещественных чисел

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

Формальная запись такой формы имеет вид:

x = m× be,        

где x – вещественное число,

m – мантисса числа,

b – основание системы счисления,

e – порядок (целое).

При обозначении основания b и порядка e используется, как правило, десятичная система счисления. При обозначении мантиссы m применяется, как правило, та система счисления, в которой представлено само число x.

Данная форма позволяет перемещать десятичную запятую в вещественном числе вправо и влево, не меняя истинного значения числа.

Пример 4. Выполнить представление в логарифмической форме десятичного числа 34,28, превратив его в правильную дробь.

Для решения этой задачи надо десятичную запятую в числе сместить как минимум на 2 разряда влево, т.е. в таком случае уменьшить число на 2 порядка. Для сохранения первоначального значения числа введем в его запись порядок, равный +2. Имеем: 34,28 = 0,3428×10+2. Здесь 0,3428 – мантисса числа, 10 – основание системы счисления, +2 (можно просто 2) – порядок.

Пример 5. Выполнить представление в логарифмической форме двоичного числа 0,1011012, превратив его в целое число.

Для решения задачи необходимо сдвинуть десятичную запятую на 6 разрядов вправо, т.е. увеличить число на 6 порядков. Для сохранения первоначального значения числа в его запись введем порядок, равный -6. Имеем: 0,1011012 = 1011012×2-6.

Для простоты обозначения числа в логарифмической форме используют специальный разделитель – букву Е (от слова exponential, англ., - экспоненциальный). Тогда результаты из предыдущих примеров приобретут другой вид:

0,3428 ×102        ⇒        0,3428Е2,

1011012 × 2-6         ⇒        1011012Е-6.

В этой записи основание системы счисления b подразумевается равным основанию счисления для мантиссы m.

Разновидностью экспоненциальной формы является ее нормализованный вид.  Нормализованное вещественное число в экспоненциальной форме имеет мантиссу в виде правильной дроби, у которой старший дробный разряд отличен от 0. Например, 0,2345; 0,10112; 0,ADC2316.

Разрядная сетка для вещественного числа состоит из двух частей: одна предназначена для размещения порядка, другая – для мантиссы. По одному разряду в обеих частях отводится для знака - порядка и мантиссы. Перед размещением в разрядной сетке вещественное число в обязательном порядке должно быть нормализовано.

Размещение порядка выполняется аналогично размещению целого числа (см. п. 9.3.2.1). При размещении мантиссы используется только ее дробная часть: старший числовой разряд размещается в самом левом числовом разряде отведенной под нее разрядной сетки. Если число разрядов мантиссы меньше, чем число разрядов сетки, оставшиеся разряды заполняются нулями. Если разрядов сетки не хватает, не размещенные двоичные цифры отбрасываются.

Пример 6. Пусть разрядная сетка имеет 14 двоичных разрядов, из них 5 разрядов отводятся под порядок, 9 – под мантиссу. Пусть под знак отводятся самые левые разряды в соответствующих частях разрядной сетки. Разместить в сетке двоичное число 0,111012Е-4.

Результат показан на рисунке:

номера разрядов

13

12

11

10

9

8

7

6

5

4

3

2

1

0

содержимое разрядов

1

0

1

0

0

0

1

1

1

0

1

0

0

0

Здесь разряды 9 – 13 отведены под порядок, 0 – 8 – под мантиссу. Знаковые разряды, соответственно, имеют номера 13 и 8: поскольку порядок отрицателен, разряд 13 содержит 1; мантисса положительна, поэтому разряд 8 равен 0. В разрядах 9 – 11 размещено значение порядка в двоичной системе счисления. Оставшийся «лишним» разряд 12 заполнен 0. В разрядах 7 – 3 помещено значение мантиссы. Оставшиеся незанятыми разряды 0 – 2 заполнены 0.

Пример 7. Пусть разрядная сетка имеет 14 двоичных разрядов, из них 5 разрядов отводятся под порядок, 9 – под мантиссу. Пусть под знак отводятся самые левые разряды в соответствующих частях разрядной сетки. Разместить в сетке двоичное отрицательное число -0,11101101112Е4.

Результат показан на рисунке:

номера разрядов

13

12

11

10

9

8

7

6

5

4

3

2

1

0

содержимое разрядов

0

0

1

0

0

1

1

1

1

0

1

1

0

1

Здесь знаковые разряды имеют значения, противоположные предыдущему примеру. Поскольку число разрядов мантиссы превышает вместимость разрядной сетки, часть из них потеряна: так, вместо мантиссы 0,1110110111 размещена мантисса 0,11101101. Таким образом, при размещении вещественных чисел возможна потеря информации, что приводит к неточным вычислениям на компьютере. Напомним, что часть информации теряется при переводе чисел в двоичную систему счисления. Для повышения точности вычислений рекомендуется использовать типы данных с повышенной разрядностью, например, для Турбо-Паскаля тип long integer вместо integer.