| Существует еще одна причина появлении ошибок усечения, с которой каждый из нас уже встречался при изучении десятичной системы счисления. Это проблема бесконечного количества дробных знаков в представлении числа, которая встречается, например, при выражении числа /, в виде десятичной дроби. Дело в том, что некоторые числа невозможно точно выразить, сколько бы цифр мы не использовали для их представления. Различие между традиционной десятичной системой счисления и двоичной системой состоит в том, что в двоичной системе больше чисел имеют бесконечное представление, чем в десятичной. Например, даже такое число, как одна десятая, имеет в двоичной системе бесконечное представление. Попробуйте представить себе, какие могут возникнуть проблемы, если какой-либо неосторожный человек решит использовать двоичные числа с плавающей точкой для хранения и обработки данных, представляющих собой суммы в долларах и центах. Например, если единицей измерения данных является доллар, то оказывается невозможным точно представить даже обычную десятицентовую монету. Хорошее решение в подобном случае — измерять данные в единицах центов, тогда все значения окажутся целыми числами, и их можно будет представить с помощью двоичного дополнительного кода. Ошибки усечения и все связанные с ними проблемы являются предметом изучения тех. кто работает в области численного анализа. Эта отрасль математики исследует проблемы, связанные с реальным выполнением вычислений, отличающихся очень большим объемом и требующих повышенной точности результатов. Л сейчас мы рассмотрим пример, который порадует душу любого специалиста по численному анализу. Предположим, что нам требуется сложить следующие три числа, представленные в однобайтовых кодах двоичной нотации с плавающей точкой (описанной выше): 2/, * /, * V,. Вели суммировать эти числа в указанном порядке, то сначала будет получено промежуточное значение 2i/l (в результате сложения чисел 2х/, и двоичным представлением которого является битовая комбинация 10.101. Страница: 1 | 2 | 3
Дата публикации: 23.10.2014 (просмотров: 5063)Комментарии на сайте: |