|
|
Log In | Not a Member? |
Contact ADC |
| < Previous PageNext Page > |
整数型のゼロによる除算処理は、x86システムでは致命的な結果となりますが、PowerPCシステムでは処理が継続され、ゼロが返されます(浮動小数点型のゼロによる除算は、どちらのアーキテクチャにおいても同じ動作をします)。クラッシュログにEXC_I386_DIV (divide by zero)と書かれている場合は、プログラムがゼロによる除算を行ったということです。mod演算は除算を実行するので、mod-by-zero演算ではゼロによる除算の例外が生じます。ゼロによる除算の例外を修正するには、プログラム中でその演算に対応する場所を探します。次に、除算演算を実行する前に除数がゼロでないかチェックするコードを追加します。
たとえば、次のようなコードがあるとします。
int a = b % c; // ここでゼロによる除算が発生する可能性がある; |
これを次のように変更します。
int a; |
if (c != 0) { |
a = b % c; |
} else { |
a = 0; |
} |
| < Previous PageNext Page > |
Last updated: 2006-03-08
|
Get information on Apple products.
Visit the Apple Store online or at retail locations. 1-800-MY-APPLE Copyright © 2007 Apple Inc. All rights reserved. | Terms of use | Privacy Notice |