Числа с плавающей точкой.
Числа с плавающей точкой, (в литературе встречается и другое название: «нормальная форма числа») - это такая форма числа, где число записывается как произведение некоторой целой степени основания системы и цифровой части, являющейся правильной дробью. При этом показатель степени основания называется порядком, а цифровая часть - мантиссой числа.
Изображение числа имеет следующий вид:
X = 0. x1 x2… xi * 10p, где x1 x2… xi – мантисса; p – порядок.
Примеры записи чисел с плавающей точкой представлены на рис. 2.37.
Форма записи | |
Числа с фиксированной точкой | Числа с плавающей точкой |
6541.7645310 | 0.65417645310 * 104 = 0.0065417645310* 106 |
111000011.11012 | 0.11100001111012 * 101001 = 0.011100001111012 * 101010 |
В определении числа с плавающей точкой не наложено никаких ограничений на величину мантиссы, лишь бы она была правильной дробью. Поэтому положение точки в мантиссе может изменяться при соответствующем изменении величины порядка. Точка при этом как бы плавает.
Из всего множества изображений числа с плавающей точкой то изображение, в котором старший разряд мантиссы (первая цифра после точки) не равен нулю, называется нормализованным числом. Соответственно все остальные изображения этого же числа называются ненормализованными.
Под разрядной сеткой понимается определенное количество разрядов, выделенных для представления числа, а также разбиение их на упорядоченные группы для представления отдельных частей числа (таких как знак мантиссы, порядок и т.д.).
В памяти машины все числа хранятся только в нормализованном виде, так как в противном случае из-за ограниченности разрядной сетки терялись бы младшие разряды мантиссы, т.е. уменьшалась бы точность представления чисел. Но при арифметических действиях результаты могут получиться и ненормализованными. Поэтому в машинах предусмотрена специальная схема, которая автоматически производит нормализацию тех результатов, которые получились в процессе вычислений ненормализованными. Нормализация заключается в сдвиге мантиссы влево на столько разрядов, сколько у нее было нулей после запятой, и в одновременном уменьшении порядка числа на такое же количество единиц.
Запись чисел в ненормализованном и нормализованном виде показана на рис. 2.38.
Форма записи | |
Ненормализованное число | Нормализованное число |
0.00101* 101100 | 0.101* 101110 |
0.0001* 1010 | 0.1* 10101 |
Рассмотрение рис. 2.38 позволяет отметить следующие два недостатка машин, работающих с числами с плавающей точкой:
1. необходимость усложнения арифметического устройства из-за возможной неоднозначности записи числа;
2. необходимость усложнения структуры АЛУ машины вследствие того, что в нем приходится производить разные действия с разными частями чисел (мантиссами и порядками).
Так при умножении двух чисел требуется мантиссы операндов перемножить, а их порядки алгебраически сложить.
Машина, работающая с числами с фиксированной точкой, не имеет указанных недостатков. Однако это не значит, что машины с фиксированной точкой обладают только положительными характеристиками. Эти машины имеют также довольно крупные недостатки, связанные в основном с малым диапазоном чисел, с которыми они могут оперировать при ограниченной разрядной сетке.
Форма записи числа с фиксированной точкой использовалась в основном на ранних этапах развития вычислительной техники. Запись числа с фиксированной точкой обычно имеет знаковый и цифровой разряды. Фиксированная точка означает, что на этапе конструирования ЭВМ было определено, сколько и какие разряды машинного слова отведены под изображение целой и дробной частей числа. Запятая в разрядной сетке может быть зафиксирована, в принципе, после любого разряда.
Как частный случай, число с фиксированной точкой может быть представлена как запись целого числа. В этом случае все разряды, кроме знакового, используются для записи целой части.
Дата добавления: 2016-12-16; просмотров: 554;