インジケーター、EA(自動売買システム)製作のご依頼はこちらへ
Googolyen FX Factory
Googolyen FX Factory
--/--/--(--) --:--:-- | スポンサー広告 |
Trackback(-) |
Comment(-)
以下の表にある演算子の各グループは同じ優先度を持つものである。
表のグループ内で高いもの程、優先順位が高い。
優先順位は演算子とオペランドのグループによって決定する。
表のグループ内で高いもの程、優先順位が高い。
優先順位は演算子とオペランドのグループによって決定する。
() 関数呼び出し 左から右へ [] 配列要素への参照
! 論理否定 右から左へ - 符号変換演算 ++ インクリメント -- デクリメント ~ ビット否定 (補数)
& ビット論理積 左から右へ | ビット論理和 ^ ビット排他的論理和 << 左シフト >> 右シフト
* 乗算 左から右へ / 除算 % 余り
+ 加算 左から右へ - 減算
< 小なり 左から右へ <= 以下 > 大なり >= 以上 == 等しい != 等しくない
|| 論理和 左から右へ
&& 論理積 左から右へ
= 代入 右から左へ += 加算代入 -= 減算代入 *= 乗算代入 /= 除算代入 %= 余り代入 >>= 右シフト代入 <<= 左シフト代入 &= ビット論理積代入 |= ビット論理和代入 ^= ビット排他的論理和代入
, コンマ 左から右へ
インデックス指定
配列のi番目の要素にアクセスする場合、式の値はiの通し番号を持つ変数の値となる。Example:
array[i] = 3; //配列のi番目の要素に3の値を代入する整数だけ配列のインデックスになる。
4次元以下の配列が許されている。
各サイズは0からサイズ-1でインデックス化される。
具体的に言うと、50個の要素から成る1次元配列を考えたとき、最初の要素は array[0] の様に参照し、最後の要素への参照は array[49]となる。
サイズを越えてアクセスすると、サブシステムがERR_ARRAY_INDEX_OUT_OF_RANGEエラーを発生させる。このエラーはGetLastError()関数によって分かる。
x1,x2,...,xn引数での関数呼び出し
各引数は、定数、変数、または類似する型の式である。引数は、関数名の後の丸括弧の中に書き、各引数はコンマで区切られる。 式の値は、関数からの返り値である。void型の関数の場合、関数呼び出しは代入演算子の右辺に置くことはできない。オーダー関数の引数によってどのような動きをするか確認してみてください。
Example:
double SL=Bid-25*Point; int ticket=OrderSend( Symbol(),OP_BUY,1,Ask, 3,SL,Ask+25*Point,"My comment", 123,0,Red );
コンマの働き
コンマで区切られた式は左式から右式に順番に実行される。左式を計算した影響は右式が計算されるよりも前に現れ、その結果の型と値は右式に影響を与える。
上記のようなパラメータの羅列は以下のExampleのように使われる。
Example:
for(i=0,j=99; i<100; i++,j--) Print(array[i][j]);
ある変数値の補数。この式は、nの各ビットを反転させた値になる。
右シフトとは論理シフトである。
すなわち左端のビットはゼロで埋まる。
この式の値は、x、yの各ビット毎の論理積をとった値が0ではない時の値となる。
この式の値は、x、yの各ビット毎の論理和をとった値となる。
この式の値は、x、yの各ビット毎の排他的論理和をとった値となる。
各ビットが異なるビット値を持っていた場合、そのビット値は1となり、同じビット値を持っていた場合0となる。
b = ~n;xの2進数表記はyビットほど右シフトされる。
右シフトとは論理シフトである。
すなわち左端のビットはゼロで埋まる。
x = x >> y;xの2進数表記はyビットほど左シフトされ、右端のビットはゼロで埋まる。
x = x << y;2進数化したx、yの論理積の表現。
この式の値は、x、yの各ビット毎の論理積をとった値が0ではない時の値となる。
b = ((x & y) != 0);2進数化したx、yの論理和の表現。
この式の値は、x、yの各ビット毎の論理和をとった値となる。
b = x | y;2進数化したx、yの排他的論理和の表現。
この式の値は、x、yの各ビット毎の排他的論理和をとった値となる。
各ビットが異なるビット値を持っていた場合、そのビット値は1となり、同じビット値を持っていた場合0となる。
b = x ^ y;ビット演算子は整数にのみ実行可能である。
論理否定演算 (!で表わされる否定演算)は算術型でなければならない。
オペランド値がFALSE (0)の場合、結果はTRUE (1)になる。
非FALSE (0) であればFALSE (0)となる。
x、yのどちらかが真(非空値)の時、この式はTRUE (1)となる。
そうでなければFALSE (0)となる。
論理式は厳密に計算される。
いわゆる "Short estimate (簡単な見積もり)" はこれらには適応されない。
x、yがどちらも真(非空値)の時、この式はTRUE (1)となる。
そうでなければFALSE (0)となる。
オペランド値がFALSE (0)の場合、結果はTRUE (1)になる。
非FALSE (0) であればFALSE (0)となる。
if(!a) Print("not 'a'");xとyの論理和 (||)。
x、yのどちらかが真(非空値)の時、この式はTRUE (1)となる。
そうでなければFALSE (0)となる。
論理式は厳密に計算される。
いわゆる "Short estimate (簡単な見積もり)" はこれらには適応されない。
if(x<0 || x>=max_bars) Print("out of range");xとyの論理積 (&&)。
x、yがどちらも真(非空値)の時、この式はTRUE (1)となる。
そうでなければFALSE (0)となる。
if(p!=x && p>y) Print("TRUE");
論理値のFALSEは整数値の0として表わされ、と同時に論理値のTRUEは非ゼロとして表わされる。
比較演算や論理演算を含む式の値は、0 (FALSE)か1 (TRUE)である。
その場合、二つの値の差が必要で、その差を正規化した結果と空値を比較すればよい。
比較演算や論理演算を含む式の値は、0 (FALSE)か1 (TRUE)である。
aとbが等しければTRUE a == b; aとbが等しくなければTRUE a != b; aがbより小さければTRUE a < b; aがbより大きければTRUE a > b; aがb以下であればTRUE a <= b; aがb以上であればTRUE a >= b;正規化されてない浮動小数値を == や != 演算子で比較することはできない。
その場合、二つの値の差が必要で、その差を正規化した結果と空値を比較すればよい。
与えられた演算を含む式の値は、代入後の左オペランドとなる。
ビット演算は整数値にしか機能しない。
シフト演算では5桁の2進数 (10進数:31、16進数:0x1F)より小さい数を用いる。
それよりも大きな数は使えない。
というのは0(2^0)から31(2^5)ビットまでの範囲でしかシフトできないからである。
%= 演算子 (yをxで割った余り)を用いることによって、結果の符号が割る数の符号と等しくなる。
yにxの値を代入する y = x;以下の演算は算術演算子や、ビット演算子に代入演算子が付いたものである。:
yにxを加算する y += x; yからxを減算する y -= x; yとxを乗算した結果をyに代入 y *= x; yをxで除算した結果をyに代入 y /= x; yをxで割ったあまりをyに代入 y %= x; yを左にxビットシフトした結果をyに代入 y >>= x; yを右にxビットシフトした結果をyに代入 y <<= x; yとxの論理積をyに代入 y &= x; yとxの論理和をyに代入 y |= x; yとxの排他的論理和をyに代入 y ^= x;これらは1つの式に対して1つしか使えない。
ビット演算は整数値にしか機能しない。
シフト演算では5桁の2進数 (10進数:31、16進数:0x1F)より小さい数を用いる。
それよりも大きな数は使えない。
というのは0(2^0)から31(2^5)ビットまでの範囲でしかシフトできないからである。
%= 演算子 (yをxで割った余り)を用いることによって、結果の符号が割る数の符号と等しくなる。
文字やその並びは特別重要な意味を持つ。これらは演算子と呼ばれる。例えば:
句読点は重要で、丸括弧、中括弧、コンマ、コロン、セミコロンも同様である。
演算子、句読点、空白はプログラムの要素を分けるために使われる。
+ - * / % 算術演算子 && || 論理演算子 = += *= 代入演算子演算子は式中で使われ、適切な変数が与えられた時に機能する。
句読点は重要で、丸括弧、中括弧、コンマ、コロン、セミコロンも同様である。
演算子、句読点、空白はプログラムの要素を分けるために使われる。
- Expressions
- Arithmetical operations
- Assignment operation
- Operations of relation
- Boolean operations
- Bitwise operations
- Other operations
- Precedence rules
| HOME |