IEEE754
#4
Отправлено 17 июня 2010 - 21:24
В каких контроллерах? Если нужна абсолютная надежность в вычислениях, можно использовать другие контроллеры, которые вычисляют точнее, даже не обязательно контроллеры, FPGA и ASIC никто не отменял. Они могут вычислять с любой точностью, которую только можно представить. Не обязательно ведь использовать только одно представление числа.да не бред. В контроллерах этот баг даёт абсолютную ненадежность в вычислениях вещественных чисел.
Что, прямо таки во всех копьютерах используется одно и тоже представление, и ничего другого в принципе невозможно? Автор делает вид что да. Почему? Непонятно.В настоящее время в компьютерах для представления и базисной (первичной, арифметической) обработки этой информации используется специальный стандарт IEEE 754
См. вышеНо главный порок компьютерной технологии достоверных вычислений состоит в том, что она целиком основана на IEEE754-тике.
Это бред. Комментировать надо?Нет в математике ни арифметики, ни алгебры, ни функционального анализа «чисел с плавающей точкой».
Без комментариевЕстественно, первое, что бросается в глаза – это чудовищные длины мантисс. Чисел с двадцатью точными десятичными разрядами видимо, даже в природе не существует, по крайней мере, человеческая цивилизация с ними пока не сталкивалась и столкнется ли в ближайшее тысячелетие – сомнительно. Нынешняя метрология достигла пока лишь десятизначных чисел при измерении времени и скорости света. А в технике используются числа, как правило, не превышающие десятичной пятизначности, И потому для каких целей выбраны столь монструозные типы?
Вообще, что-то мне говорит, что автор очень далек от той области, в которой пытается делать какие то выводы непонятно на чем основанные. Т.е. ни на чем не основанные. Разбирается, видимо, только в математике, и только теоретической.
Одна и та же мысль (в корне неверная), что одно и тоже представление числа используется везде и поэтому использование компьютеров будет все чаще приводить к техногенным катастрофам.....
Про Сатану я даже комментировать не буду.
Да, ошибки в вычислениях бывают. Да, приводят к катастрофам. Но выводы делаются, разработчики получают заслуженный нагоняй, анализируют и исправляют эти ошибки. Пролетел самолет низко над Красным морем, которе ниже уровня моря, электроника глюканула из за деления на ноль. Потом эту ошибку исправили, и она исчезла, что характерно. Модель самолета сейчас не помню, какой то из американских истребителей. Справедливости ради надо сказать, что не только в компьютерных вычислениях бывают фатальные ошибки.
Я как то вдохновился лекцией по линейной алгебре, решил проверить матрицу вращения плоскости. Написал простейшую прогу на Паскале. Прога - проще некуда - вращала просто отрезок определенной длинны, вокруг одного из его концов, как часовая стрелка. И столкнулся с этим накоплением ошибки округления: с каждым движением стрелка укорачивалась, пока не превратилась в точку. Просто координаты в следующем положении второго конца отрезка брались из предыдущего, и сдвигались на фиксированный угол. Исправил ошибку тоже достаточно просто. Координаты в каждом положении теперь вычислялись из начальных, к начальному углу прибавлял каждый раз угол, на который нужно повернуть. Соответсвенно, ошибка перестала накапливаться. И все отрезок вращался как и было задумано
В общем, подобные ошибки - просто недостаточно серьезный подход, человеческий фактор. Вычислять можно с какой угодно точностью, числа можно представлять тоже как угодно. Современная электроника многое может.
Надеюсь, доступно изложил свою точку зрения, и почему я считаю эту статью бредовой.
Сообщение изменено: Sergio (17 июня 2010 - 21:27 )
#5
Отправлено 18 июня 2010 - 22:12
дык об этом то и было написано, что из- за этой системы, имеется масса проблем. Вот у тебя с маленькой прогой была проблема, ты ее устранил увидев в живую. А если бы ты занимался теплотехнический расчетом, или хим. раствор готовил. Бац и оказалось что все запорол из за округления...
з.ы. про Сатану и конец света - это не более чем игра слов.
По вопросам DV Lottery, обращайтесь в ЛС.
#7
Отправлено 19 июня 2010 - 10:52
Если бы я занимался теплотехническим рассчетом, то я бы по-любому проверил программу в как можно большем количесве ситуаций, прежде чем доверить ей что-то ответсвенное.Sergio,
дык об этом то и было написано, что из- за этой системы, имеется масса проблем. Вот у тебя с маленькой прогой была проблема, ты ее устранил увидев в живую. А если бы ты занимался теплотехнический расчетом, или хим. раствор готовил. Бац и оказалось что все запорол из за округления...
Пробема просто не с той стороны рассматривается.
Сообщение изменено: Sergio (19 июня 2010 - 10:53 )
#8
Отправлено 19 июня 2010 - 19:47
Не всегда есть возможность все перепроверять за всеми. От сюда и проблемы могут быть.Если бы я занимался теплотехническим рассчетом, то я бы по-любому проверил программу в как можно большем количесве ситуаций, прежде чем доверить ей что-то ответсвенное.
Пробема просто не с той стороны рассматривается.
Проблем может не быть, если программист является так же спецом в области, в которой пишет код. Он может примерно догадываться что такая проблема имеет место быть и она может быть критична.
По вопросам DV Lottery, обращайтесь в ЛС.
#9
Отправлено 19 июня 2010 - 21:43
Если в ответсвеннных приложениях нет возможности проверять ключевые моменты, то извините... Что то неправильно в технологическом процессе. Я и говорю, проблема не с той стороны рассматривается. Система представления чисел - дело десятое.Не всегда есть возможность все перепроверять за всеми. От сюда и проблемы могут быть.
Квалификация программиста не являеся очень уж важной в данной ситуации. Даже наоборот, программист скорее всего не разбирается ни в чем, кроме языка, на котором пишет, ну и смежных областей. Правильно поставить задачу программисту, скорее даже не программисту, а комманде разработчиков, в которой программист является просто рядовым исполнетелем, и обеспечить проверку правильности выполнения задачи - это не так просто, как может показаться. На это тратятся немалые деньги, даже в разработке относительно простой (по сравнению с военной) коммерческой электроники. С военной и космической лично мне дела иметь не приходилось, полагаю, что там это на порядок строже. И программист ни при чем, в любом случае. Ну если менеджер проекта, или кто-то на подобной должности решил, что стандартные арифметические процедуры простейшего дешевого микроконтроллера всегда обеспечат необходимую точность вычислений, то извините...Проблем может не быть, если программист является так же спецом в области, в которой пишет код.