BASICの演算子(「+」や「−」など)の中でもっとも処理に時間がかかるのがべき乗(「^」)です。
これは、内部的には次のようになっているから遅いのです。
X^Y=10^((LOG X)*Y) (ここのLOGは通常のパソコンBASICとは違い常用対数である) |
2^N=10^((LOG 2)*N)
ここで、「LOG 2」は定数(約0.3010)ですね。
したがって次のようになります。
2^N=10^(0.301*N)
これでは最初から素直に「2^N」を計算した方が速そうですが、シャープのポケコンにはすごく便利な関数があります。それが「TEN」です。
このTENは10のべき乗を計算する関数ですが、これを使えば次のようにできます。
2^N=TEN (0.301*N) |
これにより対数計算が内部で行われることがないので高速に計算できるわけです。
ただし、若干誤差が発生してしまうので厳密な値を要求する場面では使えないでしょう(笑)。