КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Форма представление чисел с плавающей запятой
В общем случае число в форме с плавающей запятой представляется в виде: A = mq p,
где m - мантисса числа, q - основание системы счисления, q p - порядок числа, который для упрощения в примерах будем иногда изображать как P. Тогда очевидно, что p - это показатель степени порядка, который обычно называют просто порядком числа, т.к. в основном всегда q = 2. Следовательно предыдущее выражение можно записать в следующем виде:
A = mAPA,
имея в виду, что в компьютерах обычно q = 2. Так, например, число 1984 в форме с плавающей запятой в десятичной системе счисления можно записать следующим образом:
1984,0100 0,1984104 19,84102 19840010-2 и т.д. Число с плавающей запятой принято представлять в так называемом нормализованном виде для максимально точного представления числа. Если выполняется неравенство
q-1 |m| <1,
а в случае двоичной системы счисления:
0.5 |m| <1,
то считается, что число представлено в нормализованном виде. Например, 0,1984104 является нормализованным видом числа 1984 в форме с плавающей запятой в десятичной системе счисления. Таким образом, у двоичного нормализованного числа в форме с плавающей запятой мантисса - правильная дробь и в старшем разряде мантиссы всегда стоит 1. Операция приведения числа к нормализованному виду называется нормализацией. Нормализация чисел в компьютере выполняется или автоматически или же по специальной программе. Так как система счисления для заданного цифрового автомата (ком-пьютера) остается постоянной, то при представлении числа в формате с плавающей запятой нет необходимости указывать ее основание, достаточно лишь представить показатель степени порядка числа. Для представления двоичного числа в форме с плавающей запятой в разрядной сетке, выделенной для этой цели, отводится по одному разряду для представления знака числа Smи знака показателя степени порядка SP; определенное число разрядов для представления значения самого показателя p, а также разряды для размещения значения модуля мантиссы m. Например, возможен следующий вариант:
Sp p Sm m
т.е. [A] = Sp pASmmA
Обычно в формате с плавающей запятой вместо показателя p используют так называемую характеристику ("смещенный порядок"):
r = p + l,
где l - избыток (смещение), значение которого подбирается таким образом, чтобы при изменении значения показателя от некоторого минимального значения -| p max| до максимального +| p max|, характеристика r менялась от 0 до r max. Следовательно, характеристика не меняет своего знака. В таком случае отпадает необходимость в отображении знака порядка Sp. Для этого принимается, что
l = 2k-1,
где k - число разрядов, выделеных для представления порядка числа в формате с плавающей запятой. Тогда формат числа с плавающей запятой можно представить, в частности, следующим образом:
Sm r m
т.е. [A] = Sm r mA
Такой формат и используется, в основном, в настоящее время. Рассмотрим несколько примеров представления чисел в форме с плавающей запятой. Предварительно напомним, что показатель степени двойки в разрядах разрядной сетки длиной n, отведенной для представления целых чисел, изменяется от 0 до n -1, а в случае правильных дробных чисел - от -1 до - n. Если для представления показателя порядка выделены 4 разряда, то l = 23= 810= 10002. Для этого случая в таблице 3.1 приведены значения показателя порядка, характеристики и мантиссы для некоторых чисел, представленных в форме с плавающей запятой. Т а б л и ц а 3.1. A10 p10 r10 m2 0 0 8 0,0 1 1 9 0,1 2 2 10 0,1 3 2 10 0,11 0,5 0 8 0,1 0,25 -1 7 0,1 0,75 0 8 0,11 0,375 -1 7 0,11 Например, в 16-ти разрядных компьютерах для представления двоичного числа в форме с плавающей запятой с обычной точностью отводится 4 байта, т.е. 2 16-разрядных слова:
15 14 7 6 0 старшее 1$0 r старшая часть |m| слово
15 0 младшее младшая часть |m| слово
Разряды 147 старшего слова числа используются для представления характеристики числа. В остальных разрядах старшего слова и во всем младшем слове размещается модуль мантиссы числа. 15-й разряд старшего слова используется под знак числа. Единица самого старшего разряда нормализованной мантиссы обычно является "скрытой", т.е подразумевается и не отражается в формате числа. 7-ой разряд старшего слова, в котором должна была быть отражена эта единица, используется в качестве младшего разряда характеристики, что позволяет увеличить диапазон представления чисел в формате с плавающей запятой. Таким образом, мантисса в таком варианте отображается, начиная с разряда, следующего после самого старшего. При всех операциях с мантиссой числа это обстоятельство надо учитывать и перед началом этих операций восстанавливать старший разряд мантиссы в тех регистрах, куда загружается мантисса числа для выполнения над ней каких-то процедур. После завершения этих процедур во время формирования отображения нормализованного числа в отведенной для него разрядной сетке машинных слов, старшая единица мантиссы опять отбрасывается. 8-разрядное поле порядка позволяет изменять показатель порядка в пределах от -12810 до +12710, причем показатель порядка записыватся с избытком l = 2008 или 12810. В отличие от показателя порядка, как уже отмечалось, характеристика не меняет своего знака и в данном случае изменяется от 0 (при p = -12810) до 3778 (при p = +12710), причем r = 2008 при p = 0. Исключение составляет число 0: ноль с обычной и двойной точностью выражается нулевой характеристикой и нулевой мантиссой. Примеры представления чисел в форме с плавающей запятой в 16-разрядных компьютерах приведены в таблице 3.2:
Т а б л и ц а 3.2. A10 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 A8 1 1 1 040200 2 1 1 040400 7 1 1 1 1 1 040740 10 1 1 1 041040 0,5 1 040000 0,25 1 1 1 1 1 1 1 037600 -2 1 1 1 140400 -7 1 1 1 1 1 1 140740 0 000000
А8 - представление старшего слова числа в форме с плавающей запятой в восьмеричном коде. Во всех приведенных примерах содержимое младшего слова числа равно нулю. В случае представления числа с плавающей запятой с двойной точностью, под мантиссу отводится еще два 16-ти разрядных слова, т.е. для представления числа в такой форме отводится 4 16-ти разрядных слова. Например, в микропроцессоре 80386 предусмотренно три варианта представления числа ("действительного" числа) в форме с плавающей запятой: с разрядностью 32, 64 и 80 бит. В первом случае под характеристику выделяется 7 разрядов, а в остальных - по 8. Длина разрядной сетки, выделенной под характеристику, определяет диапазон представления чисел в формате с плавающей запятой. Как уже отмечалось, модуль мантиссы нормализованного числа - mА, представленного в формате с плавающей запятой лежит в пределах:
2-1 mА (1 - 2-n)
где n - число разрядов, выделенных для представления мантиссы числа А. Если для представления порядка (p) выделено k разрядов, то
p min= -2k b p max= (2k-1)
Тогда диапазон, в котором может быть представлено число в формате с плавающей запятой, будет равен:
2Pmin2-1 A (1 - 2-n)2Pmax
или .
Основным преимуществом представления чисел в форме с плавающей запятой является большой диапазон машинных чисел и высокая точность их представления. Диапазон определяется длиной разрядной сетки, выделенной под характеристику, а точность - определяется длиной разрядной сетки, выделенной под мантиссу.
Дата добавления: 2014-01-06; Просмотров: 1209; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |