私はNSDecimalNumberに移植したいいくつかの倍を持っています。なぜなら、私はあまりにも浮動小数点算術エラーを受け取りすぎているからです。これをNSDecimalNumberに移植する方法?
彼らは以下のとおりです。
double one = 0.0000001;
double two = 1000000000.0000001;
は、彼らは非常に問題ですが、私はNSDecimalNumberは計算が権利を取得するために助けることができることを願っています。私はそれほど大きな数学の天才ではないので、NSDecimalNumberのこのメソッドに正しい入力を与える方法を考えるのです。
は私が試してみましょう:
NSDecimalNumber *one = [NSDecimalNumber decimalNumberWithMantissa:1 exponent:-7 isNegative:NO];
NSDecimalNumber *two = [NSDecimalNumber decimalNumberWithMantissa:10000000000000001 exponent:-7 isNegative:NO];
私はそれが間違っている気がします。私は推測するしかなかった。ドキュメンテーションはそれに関する多くの情報を提供していません。しかし、私が得る限り、「仮数」は整数であり、指数部は浮動小数点がどこにあるべきかをゼロを加えることによって指示します。おそらくこれも間違っています;-)
私はいくつかのコードスニペットを見てきましたが、人々は単にCGFloatを仮名として与え、指数として0を与えましたが、私は彼らの意図が何であったか推測できます。それはそれを理解することなく同じ方法です。
ありがとうエタン、私は私の古い学校の記憶が今戻ってくると思います。その負の指数物だけがあまりにも私には分かりません。すなわち、仮数部が123で、仮数部が-3であれば、0.000123のような数字がありますか? –
10^-3は0.0001ではなく0.001です。したがって、仮数が1.23で、あなたのexpが-3であれば、0.00123になります。 –
仮数が123の場合、exp -3は0.123 –