Представление чисел в формате с плавающей запятой
Вещественными числами (в отличие от целых) в компьютерной технике называются числа, имеющие дробную часть (в математике они называются действительными). Вещественные числа хранятся и обрабатываются в компьютере в формате с плавающей запятой.
Для удобства отображения чисел, принимающих значения из достаточно широкого диапазона (то есть, как очень маленьких, так и очень больших), используется форма записи чисел с порядком основания системы счисления.
Например, десятичное число 1.25 можно в этой форме представить так:
1.25*100 = 0.125*101 = 0.0125*102 = ... ,
или так:
12.5*10–1 = 125.0*10–2 = 1250.0*10–3 = ... .
Формат числа с плавающей запятой (с плавающей точкой) базируется на экспоненциальной форме записи чисел, в которой может быть представлено любое число А:
А = m • qn, где
m – мантисса числа,
q – основание системы счисления,
n – порядок числа.
Пример:
Число 15,324 можно записать как
0,15324*102 или 153,24*10-1.
В первом случае
мантисса: 0,15324, порядок: 2,
а во втором случае
мантисса: 153,24, порядок: -1.
Порядок указывает, на какое количество позиций и в каком направлении должна сместиться десятичная запятая в мантиссе.
Метод представления вещественных чисел в памяти компьютера предполагает хранение двух чисел: мантиссы и порядка. Чем больше разрядов отводится под запись мантиссы, тем выше точность представления числа. Чем больше разрядов занимает порядок, тем шире диапазон чисел, представимых в ПК при заданном формате.
Правила кодирования мантиссы и порядка отличаются для различных типов ПК.
Рассмотрим для начала один из вариантов представления вещественных чисел.
Для размещения вещественного числа могут использоваться четыре байта (32 бита) - короткий формат, 8 байтов - длинный формат, 16 байтов - формат повышенной точности. В любом случае старший байт остается постоянным, а изменяется область, отведенная под мантиссу. Старший байт включает в себя:
один бит (старший) - знак числа;
один бит - знак порядка;
шесть битов - порядок числа.
Знак числа или знак порядка: 0 –для положительных чисел, 1 – для отрицательных.
В таком представлении максимальный порядок числа равен 1111112 = 6310. Следовательно, 1063 - максимальное число, которое можно закодировать таким образом:
Третий байт | Второй байт | Первый байт | Нулевой байт | ||||||||||||||||||||||||||||
порядок мантисса
знак порядка
знак мантиссы
Чаще всего для хранения вещественных чисел в памяти компьютера используется 32-разрядная или 64-разрядная ячейка. В первом случае это будет представлением с обычной точностью, во втором - с удвоенной точностью. В ячейке хранится два числа в двоичной системе счисления: мантисса и порядок.
Нормализованная форма числа
Чтобы привести к какому-то стандарту, в представлении чисел с плавающей запятой условились представлять числа в нормализованной форме.
Если “плавающая” точка расположена в мантиссе перед первой значащей цифрой, то при фиксированном количестве разрядов, отведённых под мантиссу, обеспечивается запись максимального количества значащих цифр числа, то есть максимальная точность представления числа в машине. Из этого следует:
Мантисса должна быть правильной дробью, первая цифра которой отлична от нуля:
M из [0.1, 1).
0,1 | m | < 1
Такое, наиболее выгодное для компьютера, представление вещественных чисел называется нормализованным.
Мантиссу и порядок q-ичного числа принято записывать в системе с основанием q, а само основание — в десятичной системе.
Пример
555,55 – естественная форма записи вещественного числа
0,55555•103 - нормализованная форма,
0,55555 -мантисса
0,55555 < 1
Это касается и отрицательных чисел, поэтому мантисса в условии взята по модулю.
У мантиссы после запятой не может быть нуля!
Задание 1
Записать числа десятичной и двоичной системы счисления в нормализованной форме:
Задание 2
Записать следующие десятичные числа в форме с плавающей запятой и нормализованной мантиссой:
а) 217, 934
б) 0,0075321
в) 10,0101
г) 200450
Решение:
а) 217, 93410 =0,217934103 ,
где 0,217934 –нормализованная мантисса, порядок 3
б) 7532110 =0,75321105,
где 0,75321 –нормализованная мантисса, порядок 5
в) 10,010110 = 0, 100101102,
где 0, 100101 –нормализованная мантисса, порядок 2
г) 20045010 = 0,200450 106,
где 0,200450 –нормализованная мантисса, порядок 6
Задание 3
Запишите число 2001,2001 пятью различными способами в форме с плавающей запятой (без нормализованной мантиссы).
Решение:
2001,2001 = 20.012001*102
2001,2001 = 20012.001*10-1
2001,2001 = 2.0012001*103
2001,2001 = 2001200.1*10-3
2001,2001 = 200.12001*101
Домашнее задание
Прочитать до конца параграф 19 (Вещественные числа в компьютере).
Письменно выполнить задания со следующего слайда:
1. Записать числа десятичной и двоичной системы счисления в нормализованной форме:
Десятичная система Двоичная система
а). 387.65 в). -1001.11
б) -0.00621 г). -0.00011
2. Записать следующие числа в форме с плавающей запятой и нормализованной мантиссой:
а) 67, 96730
б) 7581
в) 110,011
г) 0,003508
3. Запишите число 20131,985 пятью различными способами в форме с плавающей запятой (мантисса не нормализованная).
Задания:
Материалы на данной страницы взяты из открытых источников либо размещены пользователем в соответствии с договором-офертой сайта. Вы можете сообщить о нарушении.