目次→
演算子→
算術演算子→
Operator ^ (Exponentiate)←オリジナル・サイト
何らかの累乗に、数値の式、を上げます。
構文:
用法:
result = lhs ^ rhs
パラメタ:
lhs
左側の元の式
rhs
右側の累乗の指数の式。
戻り値:
元の式を、指定した指数だけ累乗した結果を返します。
記述:
演算子 ^ (累乗) は、何らかの指数の式 (rhs) だけ累乗された、元の式 (lhs) の結果を返します。
^ は、倍精度浮動小数だけで動作します。他の型の演算対象は、累乗を実行する前に、倍精度浮動小数に変換されます。
小数値 (1/n) の指数は、元の数から n 乗根を求めることと同じです。例えば、2 ^ (1/3) は、2 の立方根です。
演算対象のどちらも、何らかの方法で変更されません。
この演算子は、ユーザー定義型に対して多重定義できます。
この操作は、
double (倍精度)データ型 (53 有効ビット) のみを対象としており、特に他のデータ型 (64 ビット データ型など) から変換する場合は、数値の最下位ビットが不正確になることがあります。
特に、正確な数値が得られるはずの結果が、ごくわずかな誤差で出てしまうような場合に、この不正確さが顕著に現れます。
このため、指数表現が期待値と正確に等しくなるとは決して考えず、多少の誤差の範囲内で近い値になるようにします。
結果に対して
Int や
Fix などの丸め方を使う場合は注意してください。
結果が整数値であると予想される場合は、結果がわずかに小さくなる可能性があり、予想よりも 1 少ない値に丸められるからです。
この演算子は、C/C++ でも別の意味で存在し、C/C++ ではビット毎の
Xor を実行します。
例:
Dim As Double n
Input "正の数を入力してください:
", n
Print
Print n;" の、二乗は ";
n ^ 2
Print "指数が小数の場合 ";
n;" の平方根は ";
n ^ 0.5
Print "指数が小数の場合 ";
n;" の 5乗根は ";
n ^ 0.2
Sleep
出力:
正の数を入力してください: 3.4
3.4 の、二乗は 11.56
指数が小数の場合 3.4 の平方根は 1.843908891458578
指数が小数の場合 3.4 の 5乗根は 1.27730844458754
方言差:
QBからの違い:
参照: