コードは次のとおりです。
NSDecimalNumber *test=[[NSDecimalNumber alloc] initWithInt:65];
number3=[[NSDecimalNumber one] decimalNumberByDividingBy:[[[NSDecimalNumber alloc] initWithInt:10] decimalNumberByRaisingToPower:test.integerValue]];
number3=[number3 decimalNumberByMultiplyingBy:number3];
プログラムがアンダーフロー例外で終了することを期待していましたが、そうではありませんでした。さらに、NSLog を取得すると、number3 が巨大な数として得られます。「test」を 64 未満に変更すると、正しい出力 (つまり、10^(-2*test)) が得られます。ここで何が起こっているか知っている人はいますか?つまり、回避するのは非常に簡単ですが、何かが欠けていない限り (かなり可能性があります)、NSDecimalNumber クラスのエラーのようです。