цикла?
IT'S A TRAP!!!
Уточню, что сильно зависит от целевой архитектуры проца — в риск5 аппаратно не обрабатыватся, требуется поддержка по месту в коде.
Не понял - риск5 не кидает исключение и получает какой-то результат?
Именно так. Процы с риск5 игнорят деление на ноль — это требование спецификации по архитектуре системы команд и реализации в микроархитектурах конкретных чипов, соответственно.
Любопытно. Тогда как там подобные ситуации принято обрабатывать?
зависит, есть тихий NaN и есть громкий NaN, они вроде имеют по стандарту разное бинарное представление
В случае например size_t никакого NaN нет
Как сказали, вручную - test n, n
Это чё, ветку перед каждым дивом?
Посмотрел спеки и учебники риск5, а там всё не просто с делением на ноль)) Вроде сделано исключение для целочисленного деления (на целочисленных регистрах), то есть возможна аппаратная обработка. Но, вроде бы, нет для деления флоатов (в вещественных регистрах) и, совсем непоняно, как заданы операции в векторных региятрах… Ушёл изучать матчасть :) https://five-embeddev.com/riscv-isa-manual/latest/m.html
А, ну это тогда нормально, как и у всех
Обсуждают сегодня