浮動小数点例外を引き起こすゼロによる整数除算
質問:
による整数除算は行われますか?ゼロは常に浮動小数点をトリガーします例外?
答え:
いいえ、すべてのプラットフォームがゼロによる整数除算を浮動小数点例外として報告するわけではありません。ただし、特定のオペレーティング システムと C/C ランタイムでは、この例外の処理が異なる場合があります。
POSIX プラットフォーム:
POSIX では、整数のゼロ除算で SIGFPE (浮動小数点) が発生することが特に必要です。ポイント例外)信号。 POSIX は、ゼロ除算の FPE_INTDIV_TRAP など、他のタイプの浮動小数点例外と区別する追加情報も提供します。
その他のプラットフォーム:
FP 例外セマンティクス:
浮動小数点例外は通常、デフォルトでマスクされます。これにより、0.0 / 0.0 のような演算で例外をトリガーせずに NaN を生成できるようになります。ただし、これは、例外が発生したかどうか、またそのタイプを判断するために例外フラグを手動でチェックする必要があることも意味します。
FP 対 整数エラー検出:
整数の除算には NaN または Inf の結果を生成するオプションがないため、例外の処理がより簡単になります。ただし、x86 では、「浮動小数点無効」例外がマスクされている場合、特定の命令で整数に変換された範囲外の浮動小数点値は「不定の整数」値 (INT_MIN) を生成する可能性があります。
以上が整数のゼロ除算では常に浮動小数点例外が発生しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。