3

私が作成したアプリはかなり長い方程式を実行し、結果は、方程式を取得した Excel スプレッドシートで実行した場合とは異なるため、疑問に思っています。入力数が多いほど差が大きくなります。xcode に入力した式は次のとおりです
360 * num1 * num3 * (1 - powf(14.9 / num1, 0.286))
(num1 と num3 は入力数値です)。Excelの計算は次の
とおりです
=360*R9*R11*(1-((R10/R9)^0.286))
R9num1R11num3R10

式の違いはわかりませんが、もしあれば指摘してください。2つのうちの1つ(おそらくob-cのもの)が、私が期待したものとは異なることをしていると思います。

4

1 に答える 1

2

はい。Objective-CはCのスーパーセットです。

つまり、Cが持つすべての機能、Objective-Cも同様です。

 360 * num1 * num3 * (1 - powf(14.9 / num1, 0.286)) (num1 and num3 are the input numbers)
          A * num3 * (1 - powf(14.9 / num1, 0.286)) 
                 B * (1 - powf(14.9 / num1, 0.286)) 
                 B * (1 - powf(C, 0.286)) 
                 B * (1 - D) 
                 B * (E) 
                      F 

また、参考までに、BEDMASは完全にはフォローされていません。DとMが同じレベルにある場合、左端が最初に評価され、AとSのルールも同様です。ただし、これは大したことではありませんが、切り捨てと10進数による丸めに関しては、大問題。

a * b / c is calculated  as "(a*b) / c" 

一方

a / b * c is calculated as "(a/b) * c" 
于 2012-12-28T19:54:36.973 に答える