Apple Developer Connection
Advanced Search
Member Login 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




Did this document help you?
Yes: Tell us what works for you.

It’s good, but: Report typos, inaccuracies, and so forth.

It wasn’t helpful: Tell us what would have helped.
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