Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лк5.Кодирование действительных чисел.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
60.79 Кб
Скачать

Основы информатики. Лк5. Кодирование действительных чисел

Содержание

Кодирование действительных чисел 1

Мантисса и порядок 1

Нормальная и нормализованная форма 2

Машинное представление действительных чисел 2

Диапазон значений чисел с плавающей точкой 3

Машинная эпсилон (машинный ноль) 4

Особые значения чисел с плавающей точкой 4

Ноль (со знаком) 4

Неопределенность (NaN) 5

Бесконечности 5

Арифметические действия над нормализованными числами 6

Кодирование действительных чисел Мантисса и порядок

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

При изображении действительных чисел во многих языках программирования вместо запятой принято ставить точку. Так, например, число 5 — целое, а числа 5.1 и 5.0 — действительные. Для удобства отображения чисел, принимающих значения из достаточно широкого диапазона (то есть, как очень маленьких, так и очень больших), используется форма записи чисел с порядком основания системы счисления. Например, десятичное число 1.75 можно в этой форме представить так:

1.75×10° = 0.175×101 = 0.0175×102 = ...,

или так:

17.5×10–1 = 175.0×10–2 = 1750.0×10–3 = ....

В языках программирования этой записи обычно соответствует запись 1.75E0 = 0.175E1 = 0.0175E2 или 17.5E–1 = 175.0E–2 = 1750.0E–3 = ....

Любое число N в системе счисления с основанием q можно записать в виде

N = М ×qp                                                                                               (1)

где M называется мантиссой числа, а p порядком. Такой способ записи чисел называется представлением с плавающей точкой (запятой). Если "плавающая" точка расположена в мантиссе перед первой значащей цифрой, то при фиксированном количестве разрядов, отведённых под мантиссу, обеспечивается запись максимального количества значащих цифр числа, то есть максимальная точность представления числа в машине.

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

Нормальная и нормализованная форма

Нормальной формой числа с плавающей точкой называется такая форма, в которой мантисса (без учёта знака) в десятичной системе находится на полуинтервале [0; 1). Такая форма записи имеет недостаток: некоторые числа записываются неоднозначно (например, 0,0001 можно записать в 4 формах — 0,0001×100, 0,001×10−1, 0,01×10−2, 0,1×10−3), поэтому распространена также другая форма записи — нормализованная.

В литературе встречаются разные определения нормализованной формы записи. Здесь примем следующее определение:

В нормализованной форме мантисса числа принимает значения от 1/p (включительно) до 1 (не включительно). То есть m – правильная p-ичная дробь, у которой первая цифра после запятой не равна нулю: 1/p <= m < 1.

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

3,14 = 0.314 * 101

752.15 = 0.75215•103;

- 0.000039 = - 0.3910-4;

Примеры записи двоичных чисел. Предварительно напомню, что в двоичной системе умножение на два в какой-либо степени – это сдвиг разрядов. Если число умножается на 2 в какой-то степени, и если эта степень – целое положительное число, то это будет сдвиг влево на количество разрядов, которое соответствует степени числа два. Как нетрудно догадаться, деление – это сдвиг вправо.

1 = 0.1 * 21 (сдвинули число влево на один разряд)

100 = 0.1 * 23 (сдвинули число влево на три разряда)

11,11010010 = 0.1111010010 * 22 (сдвинули число влево на два разряда)

0,01 = 0.1 * 2-1 (сдвинули число вправо на один разряд)

В нормализованной форме любое число (кроме 0) записывается единственным образом. Ноль же представить таким образом невозможно, поэтому стандарт предусматривает специальную последовательность битов для задания числа 0 (а заодно и некоторых других полезных чисел, таких как -\infty и +\infty). Так как старший двоичный разряд (целая часть) мантиссы вещественного числа в нормализованном виде всегда равен «1», то его можно не записывать, сэкономив таким образом один бит, что и используется в стандарте IEEE 754.