算術演算子の概要
F#の整数型と浮動小数点型は、デフォルトで算術演算に対応しています。ここでの算術演算とは、加算(= addition) / 減算(= subtraction) / 乗算(= multiplication) / 除算(= division) / 剰余算(= modulo) のことを指します。また、C#やVB.NETとは違いべき乗用の演算子が用意されています。
加算などの2つの数値に対して演算を行うような演算子を "二項演算子" といいます。逆に +記号 や -記号 など、正の数 / 負の数 にするなど1つの数値に対して演算を行う演算子を "単項演算子" といいます。
以下は算術演算子の一覧表になります。
二項演算子 | 概要 |
---|---|
+ (加算) | 左辺と右辺で足し算する演算子. 加算された合計がその型でサポートされている最大絶対値を超えるとオーバーフローが発生する可能性があります. |
- (減算) | 左辺と右辺で引き算する演算子. 符号なしの型が減算されるとき, または浮動小数点数型の値がその型で表現するには小さすぎるときにアンダーフローが発生する可能性があります. |
* (乗算) | 左辺と右辺で掛け算する演算子. 積がその型でサポートされている最大絶対値を超えるとオーバーフローが発生する可能性があります. |
/ (除算) | 左辺と右辺で割り算する演算子. 0による除算は, 整数型に対して DivideByZeroException が発生します. 浮動小数点数型の場合, 0除算をすると Infinity / -Infinity となります. また, 0 を 0除算すると NaN になります. 浮動小数点数が小さすぎて型で表現できない場合には, アンダーフロー状態が発生する可能性があります. |
% (剰余算) | 左辺と右辺で割り算した余りを出す演算子. |
** (べき乗) | 左辺と右辺でべき乗計算する演算子. 結果がその型でサポートされている最大絶対値を超えるとオーバーフローが発生する可能性があります. べき乗演算子は浮動小数点数型でのみ機能します. |
単項演算子 | 概要 |
---|---|
+ (正) | 値の符号を変更しないことを表現する演算子です. 任意の算術式に適用できます. |
- (負 / 否定) | 値の符号を変更します. 任意の算術式に適用できます. |
二項比較演算子 | 概要 |
---|---|
= (等しい) | = は 代入演算子ではありません. F#では比較目的でのみ使用されます. 左辺と右辺を比較して等しいときに true を返します. |
> (より大きい) | 左辺と右辺を比較して, 左辺が大きいときに true を返します. |
< (未満) | 左辺と右辺を比較して, 左辺が小さいときに true を返します. |
>= (以上) | 左辺と右辺を比較して, 同じ値か, 左辺が大きいときに true を返します. |
<= (以下) | 左辺と右辺を比較して, 同じ値か, 左辺が小さいときに true を返します. |
<> (等しくない) | 左辺と右辺を比較して, 等しくないときに true を返します. |
サンプルでみる算術演算子
言葉で説明するよりも実際の動きを見ていただいたほうがイメージがつくと思いますので、以下のサンプルをご参照してください。