WikiSort.ru - Не сортированное

ПОИСК ПО САЙТУ | о проекте
SIGFPE
Описание: Ошибочная арифметическая операция
По умолчанию: завершение с дампом памяти
коды SA_SIGINFO
FPE_INTDIV Целочисленное деление на нуль
FPE_INTOVF Целочисленное переполнение
FPE_FLTDIV Деление на нуль с плавающей запятой
FPE_FLTOVF Переполнение с плавающей запятой
FPE_FLTUND Антипереполнение с плавающей запятой
FPE_FLTRES Ошибка точности операции с плавающей запятой
FPE_FLTINV Неправильная операция с плавающей запятой
FPE_FLTSUB Запредельный индекс

В POSIX-системах, SIGFPE — сигнал, посылаемый процессу, при попытке выполнения ошибочной арифметической операции.

SIGFPE — целочисленная константа, определённая в заголовочном файле signal.h. Символьные имена сигналов используются вместо номеров, так как в разных реализациях номера сигналов могут различаться.

Этимология

SIG — общий префикс, сигналов, FPE — аббревиатура англ. floating-point exception — исключение в операции с плавающей запятой. На самом деле, SIGFPE используется и для целочисленной арифметики, название же сохраняется для обеспечения обратной совместимости кода.

Использование

SIGFPE может быть послан процессу по ряду причин. Самая распространенная из них — переполнение типа данных в результате неожиданно больших (или малых) значений входных данных и/или ошибки дизайна программы.

SIGFPE может быть перехвачен или проигнорирован. Игнорирование SIGFPE в некоторых случаях может привести к непредсказуемым результатам — программа может зациклиться в попытке выполнить ошибочную операцию. Если SIGFPE не является результатом арифметической операции (а, например, послан с помощью системного вызова kill()), то такое игнорирование вполне безопасно.

При делении SIGFPE вызывает не только равный нулю делитель — на некоторых платформах (включая x86), целое деление INT_MIN, самого малого (отрицательного) целого числа, на (−1) не может быть выполнено, поскольку положительное число с этим модулем непредставимо (при INT_MIN = (−2147483648), INT_MAX = 2147483647).

См. также

Данная страница на сайте WikiSort.ru содержит текст со страницы сайта "Википедия".

Если Вы хотите её отредактировать, то можете сделать это на странице редактирования в Википедии.

Если сделанные Вами правки не будут кем-нибудь удалены, то через несколько дней они появятся на сайте WikiSort.ru .




Текст в блоке "Читать" взят с сайта "Википедия" и доступен по лицензии Creative Commons Attribution-ShareAlike; в отдельных случаях могут действовать дополнительные условия.

Другой контент может иметь иную лицензию. Перед использованием материалов сайта WikiSort.ru внимательно изучите правила лицензирования конкретных элементов наполнения сайта.

2019-2024
WikiSort.ru - проект по пересортировке и дополнению контента Википедии