-div-round-down)Округление частных от деления или модуля отрицательных чисел вместо округления вверх
Укажите, округляются ли частные от деления и модуля отрицательных чисел вверх или вниз.
Примечание
a = (a / b) * b + a % b всегда верно.
Пользовательский интерфейс (только для настольных ПК): в конфигурации проекта этот параметр находится в узле Target & Compiler.
файл командной строки и параметров: Использовать параметр -div-round-down. См. раздел Сведения о командной строке.
Используйте этот параметр для эмуляции компилятора.
Этот вариант применим только для компиляторов, соблюдающих C90 стандарт (ISO/IEC 9899:1990). Стандарт предусматривает, что «если либо операнд/или% отрицателен, независимо от того, является ли результат оператора/наибольшим целым числом, меньшим или равным алгебраическому частному, или наименьшим целым числом, большим или равным частному, определена реализация, та же самая для знака оператора%». Стандарт позволяет компиляторам выбирать собственную реализацию.
Для компиляторов, соответствующих стандарту C99 ((ISO/IEC 9899:1999), этот параметр не требуется. Стандарт обеспечивает разделение с округлением до нуля (раздел 6.5.5).
Если любой операнд / или % является отрицательным, результатом оператора/является наибольшее целое число, меньшее или равное алгебраическому частному. Результат % оператор выводится из a % b = a - (a / b) * b.
Пример: assert(-5/3 == -2 && -5%3 == 1); является правдой.
Если любой операнд из / или % отрицательный, результат / оператор - наименьшее целое число, большее или равное алгебраическому частному. Результат % оператор выводится из a % b = a - (a / b) * b.
Это поведение также известно как округление к нулю.
Пример: assert(-5/3 == -1 && -5%3 == -2); является правдой.
Параметр:
-div-round-down |
| По умолчанию: Откл. |
Пример (поиск ошибок):
polyspace-bug-finder -div-round-down |
Пример (проверка кода):
polyspace-code-prover -div-round-down |
Пример (сервер поиска ошибок): polyspace-bug-finder-server -div-round-down |
Пример (сервер проверки кода):
polyspace-code-prover-server -div-round-down |