利用可能な演算子と関数

データ、演算子、数学関数、種類の変換を使用して式を作成します。

演算子

整数演算子

これらの演算子を使用して単純な算術演算を実行します。「TankLevel + 60」など数値の計算に使用します。

演算子

説明

[+]

X + Y

加算

[-]

X - Y

減算

[*]

X * Y

乗算

[/]

X / Y

除算

[%]

X % Y

除算の余り

[()]

(X + Y)*10

 

加算演算子 (+) を使用して文字列の連結を行います。つまり、加算記号で文字列を連結できます。"Hello " + " " + "Billy" で、文字列 "Hello Billy" が作成されます。

ビット演算子

演算子

説明

[>>]

X >> Y

右シフト。X 内のビットが、ビットの位置から右に Y 個分シフトします。符号は保持されます。

[<<]

X << Y

左シフト。X 内のビットが、ビットの位置から左に Y 個分シフトします。符号は保持されます。

[>>>]

X >>> Y

ゼロ挿入、右シフト。X 内のビットが、ビットの位置から右に Y 個分シフトします。シフトされた左側は 0 が挿入され、符号は保持されません。

[&]

X & Y

ビット単位の AND 演算の結果を返します。

X = 0110; Y= 1100 の場合、結果は 0100 です。

[|]

X | Y

ビット単位の OR 演算の結果を返します。

X = 0110; Y= 1100 の場合、結果は 1110 です。

[^]

X ^ Y

ビット単位の XOR 演算の結果を返します。

X = 0110; Y= 1100 の場合、結果は 1010 です。

[~]

~X

値 X 内のビットを反転させます。

X = 0110 の場合、結果は 1001 です。

[!]

!X

X ではないとき、true を返します。

MEMO:

  • OR/AND/XOR/NOT は、常に 32 ビット符号なし整数値を返します。
  • 入力値が負の場合、ビットシフト式は 32 ビットの整数値を返します。
  • 入力値が正の場合、ビットシフト式は 32 ビット符号なし整数値を返します。

 

BOOL 出力演算子

これらの演算子は 2 つの値を比較します。定義された比較が true の場合、式は true を返します。定義された比較が false の場合、式は false を返します。「TankLevel > 30」など数値の比較に使用します。

値の中で以下のいずれかが発生すると、結果は未定義となります。
  • 通信エラー (変数のクオリティが「bad」)
  • 範囲外の配列要素番号へのアクセス
  • ゼロ除算

演算子

説明

[&&]

X && Y

論理 AND。

MEMO:

  • コンバーターの BOOL 式は、BOOL 値として評価する必要があります。式が他のデータ型で評価された場合、その値は未定義になります。
  • 片方のオペランドの値が未定義でも、もう一方のオペランドが false であれば、結果として論理条件は false と評価される可能性があります。以下の表を参照してください。
    左の演算子 右の演算子 結果
    未定義 未定義 未定義
    未定義 true 未定義
    未定義 false false
    true 未定義 未定義
    false 未定義 false

[||]

X || Y

論理 OR。

MEMO:

  • コンバーターの BOOL 式は、BOOL 値として評価する必要があります。式が他のデータ型で評価された場合、その値は未定義になります。
  • 片方のオペランドの値が未定義でも、もう一方のオペランドが true であれば、結果として論理条件は true と評価される可能性があります。以下の表を参照してください。
    左の演算子 右の演算子 結果
    未定義 未定義 未定義
    未定義 true true
    未定義 false 未定義
    true 未定義

    true

    false 未定義 未定義

[==]

X == Y

X と Y が等しい場合、true を返します。

[!=]

X != Y

X と Y が等しくない場合、true を返します。

[<=]

X <= Y

X が Y 以下である場合、true を返します。

MEMO: この演算子は BOOL 変数、STRING 変数、および WSTRING 変数には使用できません。

[>=]

X >= Y

X が Y 以上である場合、true を返します。

MEMO: この演算子は BOOL 変数、STRING 変数、および WSTRING 変数には使用できません。

[<]

X < Y

X が Y 未満である場合、true を返します。

MEMO: この演算子は BOOL 変数、STRING 変数、および WSTRING 変数には使用できません。

[>]

X > Y

X が Y より大きい場合、true を返します。

MEMO: この演算子は BOOL 変数、STRING 変数、および WSTRING 変数には使用できません。

Math

関数

説明

abs(a)

絶対値を返します。

パラメーター: integer、戻り値: integer - または -
パラメーター: long、戻り値: long - または -
パラメーター: float、戻り値: float - または -
パラメーター: double、戻り値: double

acos(double a)

アークコサインを返します。

パラメーター: double, 戻り値: double

asin(double a)

アークサインを返します。

パラメーター: double, 戻り値: double

atan(double a)

アークタンジェントを返します。

パラメーター: double, 戻り値: double

atan2(double a, double b)

a/b のアークタンジェントを返します。

パラメーター a: double, パラメーター b: double, 戻り値: double

ceil(double a)

パラメーターよりも大きい整数のうち、最小の値を返します。

パラメーター: double, 戻り値: double

cos(double a)

コサインを返します。

パラメーター: double, 戻り値: double

E

自然対数の底数。倍精度浮動小数点数です。2.71828182845904523545f

MEMO: Math.E の記法を使用してください。

exp(double a)

e (i.e. 2.718...) を底とする倍精度値のべき乗を返します。

パラメーター: double, 戻り値: double

floor(double a)

パラメーターよりも小さい整数のうち、最大の値を返します。

パラメーター: double, 戻り値: double

IEEEremainder(double a, double b)

パラメーター a をパラメーター b で割ったときの余りを返します。

パラメーター a: double, パラメーター b: double, 戻り値: double

log(double a)

パラメーターの自然対数を返します。

パラメーター: double, 戻り値: double

max(a,b)

2 つのパラメーターのうち、大きい方を返します。

パラメーター a: integer, パラメーター b: integer, 戻り値: integer - または -
パラメーター a: long, パラメーター b: long, 戻り値: long - または -
パラメーター a: float, パラメーター b: float, 戻り値: float - または -
パラメーター a: double, パラメーター b: double, 戻り値: double

min(a,b)

2 つのパラメーターのうち、小さい方を返します。

パラメーター a: integer, パラメーター b: integer, 戻り値: integer - または -
パラメーター a: long, パラメーター b: long, 戻り値: long - または -
パラメーター a: float, パラメーター b: float, 戻り値: float - または -
パラメーター a: double, パラメーター b: double, 戻り値: double

PI

円の直径に対する円周率。

3.14159265358979323846f

MEMO: Math.PI の記法を使用してください。

pow(double a, double b)

ab を返します。

パラメーター a: double, パラメーター b: double, 戻り値: double

random()

0.0 と 1.0 の間の乱数を返します。

パラメーター: なし, 戻り値: double

MEMO: この関数の出力は、0 と 1 の間の浮動小数点数です。

rint(double a)

パラメーターに最も近い整数を返します。

パラメーター: double, 戻り値: double

round(a)

倍精度パラメーターに最も近い long、および浮動小数パラメーターに最も近い整数を返します。

パラメーター: double, 戻り値: long - または -
パラメーター: float, 戻り値: integer

sin(double a)

パラメーターのサインを返します。

パラメーター: double, 戻り値: double

sqrt(double a)

パラメーターの平方根を返します。

パラメーター: double, 戻り値: double

tan(double a)

パラメーターのタンジェントを返します。

パラメーター: double, 戻り値: double

種類の変換

データの種類を変換するには、種類の変換を使用します。以下は、LWORD 変数が SINT 変数に変換される有効な式の例です。

種類

説明

(sint)

8 ビット符号付き整数に丸められた値を返します。

(usint)

8 ビット符号なし整数に丸められた値を返します。

(byte)

8 ビット符号なし整数に丸められた値を返します。

(int)

16 ビット符号付き整数に丸められた値を返します。

(uint)

16 ビット符号なし整数に丸められた値を返します。

(word)

16 ビット符号なし整数に丸められた値を返します。

(dint)

32 ビット符号付き整数に丸められた値を返します。