Главная Случайная страница


Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 4. Как сделать так, чтобы вас уважали и ценили? Как сделать лучше себе и другим людям Как сделать свидание интересным?


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Лекция 2

1.3. Представления вещественных чисел с фиксированной и плавающей запятой. Арифметические операции сложения и умножения над вещественными числами   Двоичные числа, так же как и десятичные, могут быть с дробной частью. Дробная часть пишется после запятой. Первому разряду справа от запятой соответствует 2-1, второму — 2-2 и т.д. Двоичные числа с запятой пересчитывают в десятичные таким же способом, как и двоичные числа без запятой. Можно перевести и дробные десятичные числа в двоичную систему. Например:   22,687510 = 16 + 4 + 2 + 0,5 + 0,125 + 0,0625 = 1 · 24 + 0 · 23 + 1 · 22 + 1 · 21 + 0 · 20 + 1 · 2-1 + 0 · 2-2 + 1 · 2-3 + 1 · 2-4 = 10110,10112.  
2n 24 = 16 23 = 8 22 = 4 21 = 2 20 = 1 , 2-1 = 0,5 2-2 = 0,25 2-3 = 0,125 2-4 = 0,0625
22,6875           ,        

 

Может быть такая ситуация, что десятичное число с запятой не может быть преобразовано в двоичное число без остатка. В этом случае надо решить, сколько разрядов после запятой следует оставить и после этого закончить перевод числа.

 

Пример деления двоичных чисел:

 

-             ,            
                   
                  ,  
    -                        
                             
                       
      -                      
                             
                       
                             

 

Так как в некоторых странах при записи чисел целая часть отделяется от дробной точкой, то в терминологии этих стран фигурирует название "плавающая точка". Так как в России целая часть числа от дробной традиционно отделяется запятой, то для обозначения того же понятия используется термин "плавающая запятая", однако в настоящее время в русскоязычной научной литературе и технической документации можно встретить оба варианта.

 

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

 

Преимущество использования представления чисел в формате с плавающей запятой над представлением в формате с фиксированной запятой (и целыми числами) состоит в том, что можно использовать существенно больший диапазон значений при неизменной относительной точности. Например, в форме с фиксированной запятой число, занимающее 8 разрядов в целой части и 2 разряда после запятой, может быть представлено в виде 123456,78; 8765,43; 123,00 и так далее. В свою очередь, в формате с плавающей запятой (в тех же 8 разрядах) можно записать числа 1,2345678; 1234567,8; 0,000012345678; 12345678000000000 и так далее, но для этого необходимо двухразрядное дополнительное поле для записи показателей степени 10 от 0 до 1610, при этом общее число разрядов составит 8 + 2 = 10.

 

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

 

Число с плавающей запятой состоит из:

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

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

 

Так как старший разряд (целая часть числа) мантиссы двоичного числа (кроме 0) в нормализованном виде равен 1, то при записи мантиссы числа в ЭВМ старший разряд можно не записывать, что и используется в стандарте IEEE 754. В позиционных системах счисления с основанием большим, чем 2 (в троичной, четверичной и др.), этого свойства нет.

 

В вычислительных машинах показатель степени принято отделять от мантиссы буквой E (exponent). Например, число 1,528535047 · 10−25 в большинстве языков программирования высокого уровня записывается как 1.528535047E-25.

 

Существует несколько способов того, как строки из цифр могут представлять числа. Наиболее распространенный путь представления значения числа из строки с цифрами — в виде целого числа — запятая по умолчанию находится в конце строки.

 

В общем математическом представлении строка из цифр может быть сколь угодно длинной, а положение запятой обозначается путем явной записи символа запятой (или точки) в нужном месте.

 

В системах с представлением чисел в формате с фиксированной запятой существует определенное условие относительно положения запятой. Например, в строке из 8 цифр условие может предписывать положение запятой в середине записи (между 4-й и 5-й цифрой). Таким образом, строка "00012345" обозначает число 1,2345 (нули слева всегда можно отбросить).

 

В экспоненциальной записи используют стандартный (нормализованный) вид представления чисел. Число считается записанным в стандартном (нормализованном) виде, если оно записано в виде a · qn, где a, называемое мантиссой, такое, что 1 ≤ a < q, n — целое, называемое показателем степени, и q — целое, называемое основанием системы счисления (обычно 10). То есть в мантиссе запятая помещается сразу после первой значащей (не равной нулю) цифры, считая слева направо, а дальнейшая запись дает информацию о действительном значении числа. Побочным эффектом ограничения на значения мантиссы является то, что в такой записи невозможно изобразить число 0.

 

Запись в форме с плавающей запятой похожа на запись чисел в стандартном виде, но мантисса и экспонента записываются раздельно. Мантисса записывается в нормализованном формате — с фиксированной запятой, подразумеваемой после первой значащей цифры. Однако, запись в форме с плавающей запятой используется в основном в электронном представлении чисел, при котором используется основание системы счисления 2, а не 10. Кроме того, в двоичной записи мантисса обычно денормализована, то есть запятая подразумевается до первой цифры, а не после, и целой части вообще не имеется в виду — так появляется возможность и значение 0 сохранить естественным образом. Таким образом, десятичная 9 в двоичном представлении с плавающей запятой будет записана как мантисса +1001000…0 и показатель +0…0100. Отсюда, например, проблемы с двоичным представлением чисел типа одной десятой (0,1), для которой двоичное представление мантиссы оказывается периодической двоичной дробью — по аналогии с 1/3, которую нельзя конечным количеством цифр записать в десятичной системе счисления.

 

1.4. Потеря значащих цифр

 

Запись числа в форме с плавающей запятой позволяет производить вычисления над широким диапазоном величин, сочетая фиксированное количество разрядов и точность. Например, в десятичной системе предоставления чисел с плавающей запятой (3 разряда) операцию умножения, которую мы бы записали как

 

0,12 × 0,12 = 0,0144

 

в нормальной форме представляется в виде

 

(1,20 · 10−1) × (1,20 · 10−1) = (1,44 · 10−2).

 

В формате с фиксированной запятой мы бы получили вынужденное округление

 

0,120 × 0,120 = 0,014.

 

Мы потеряли крайний правый разряд числа, так как данный формат не позволяет запятой "плавать" по записи числа.

 

Диапазон чисел, которые можно записать данным способом, зависит от количества бит, отведенных для представления мантиссы и показателя. На обычной 32-битной вычислительной машине, использующей двойную точность (64 бита), мантисса составляет 1 бит на знак и 52 бита, показатель — 1 бит на знак и 10 бит. Таким образом получаем диапазон точности примерно от 4,94 · 10−324 до 1,79 · 10308 (от 2−52 × 2−1022 до ~1 × 21024). Пара значений показателя зарезервирована для обеспечения возможности представления специальных чисел. К ним относятся значения NaN (Not a Number, не число) и +/-INF (Infinity, бесконечность), получающихся в результате операций типа деления на ноль нуля, положительных и отрицательных чисел. Также сюда попадают денормализованные числа, у которых мантисса меньше единицы. В специализированных устройствах (например GPU) поддержка специальных чисел часто отсутствует. Существуют программные пакеты, в которых объем памяти выделенный под мантиссу и показатель задается программно, и ограничивается лишь объемом доступной памяти ЭВМ.

 


<== предыдущая | следующая ==>
Медико-генетическое консультирование при пороках развития | Этап 1. Определение симптомов проблемы

Date: 2015-08-15; view: 300; Нарушение авторских прав; Помощь в написании работы --> СЮДА...



mydocx.ru - 2015-2024 year. (0.007 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию