05.03.2018 19:58, Andrey Jr. Melnikov пишет:
yuri.nefe...@gmail.com wrote:
   По смыслу иногда переводят как ??ошибочная арифметическая
   операция??. Скорее всего целое деление на ноль.

Это вы батенька, путаете теплое с мягким. Деление на ноль с помошью FPU - 
обычная
такая опреация, правда в результате которой возникает NaN.

Вообще-то получается ±Inf, которая в результате следующих делений может превратиться в ноль и дать вполне разумный результат. А вот NaN так и доползет до конца вычислений. Ну и с помощью управляющего регистра FPU можно добиться, чтобы в ответ на разнообразные ошибки операций с плавающей точкой вылетал сигнал SIGFPE, хотя это редко кому-то бывает нужно.

А вот деление на 0 с помошью ALU - таки да, дергает "Divide Error" вектор.
То, что их в glibc аккуратненько слепили в одну кучу - это проблемы в
головах авторов glibc, т.к. подходы к обработке этих ошибок - принципиально
разные.

Поведение на столько странное, что увидев один раз, сложно забыть. что в первую очередь надо искать деление целых чисел.

Ответить