【MQL5】基本のキ→値の表し方

MQLに限らず、コンピュータ上での文字はいろいろな表し方ができます。

EAやカスタムインジケーターを作る場合には利用しない表し方も多いですが、計算結果をログに出力してみたら変な文字が…型を間違えて変な値が…なんてことにならないように、どんな表し方があるか頭の片隅にでも入れておきましょう。

目次

10進数

数の表し方でもっとも見慣れた10進数

言わずもがな、0〜9の10種類の数字を使って数を表す方法です。

数が1増えるごとに、0、1、2…と数字が増えていき、9まで進んだら上位の桁に繰り上がり、1桁目は0にリセットされます。

例えば数字の123は各桁で分解すると次のように表すこともできます。

1×102 + 2×101 + 3×100

2進数

10進数は0〜9の10種類の数字を使って数を表すものでした。

2進数は0か1の2種類の数字を使って数を表す方法です。

0、1と数えたら、2という数字は使えないので桁を繰り上げて10。

さらに1を加えたら11。

そこに1を加えて100。

という形で桁が繰り上がる考え方は10進数と同様です。

例えば10進数の12という数は2進数で表すと1100という数字になり、各桁で分解すると次のように表すことができます。

1×23 + 1×22 + 0×21 + 0×20

2進数の「10」と10進数の「10」はまったく異なる値を示します。

このため、次のような表記で2進数表記であることを明示的に示します。

(10)2

(10)b

0b10

MQLでは2進数表記はできないんですが

8進数

8進数は、0〜7の8種類の数字で数を表します。

基本的な考え方は10進数や2進数と同じで、使える数字の最大(7)まで進んだら上位の桁に繰り上がって、再び0からカウントを始めます。

10進数と区別するために8進数の値を表記する場合は次のように表記します。

(10)8

010

8進数の「10」は、10進数では「8」を示しています。

MQL5のフォーマット書式を使って8進数の値を出力すると、先頭に0が付与される表記が使用されます。

16進数

続いて16進数。

考え方は他のN進法と同じく、16種類の文字で数を表します。

数字としては0〜9の10種類しか存在していないので、A、B、C、D、E、Fの6個のアルファベットも使って16種類の文字を表現します。

上の図のように4ビットで表される値を16進数であれば1文字で表現できます。(コンピュータでよく使われる単位である1バイト(8ビット)の場合だと2文字で表現できる)

16進数の場合も10進数と区別するために独自の表記があります。

(10)16

0x10

MQL5のフォーマット書式を使って16進数の値を出力すると、先頭に0xが付与される表記が使用されます。

指数表記

整数部、もしくは小数点以下の桁がとても長い値を表示すると、当然ですが横長に表示されてしまいとても見づらくなります。

そんな時には指数表記を利用します。

大きな値の指数表記

桁数の多い値(大きい値)、例えば2億を表示する場合、MQL5では次のように指数表記することができます。

2e+08 もしくは 2E+08

単純に20000000000と表示するよりも短い桁数で表示できます。

この指数表記は、次のような意味が。

2×108

e(もしくはE)から後ろは10を何回べき乗するかを表したものなのです

MQL5では桁数の多い値を表示しようとすると、自動的にこの指数表記で出力されます。

小数部の長い値の指数表示

少数部が長い場合にも指数表記で短い桁数で表すことができます。

例えば、0.000000003(少数点以下の桁が9桁)を指数表記で表すと次のように表示することができます。

3e-09 もしくは 3E-09

これは10の-9乗を掛けた値であることを示した表記。

3×10-9


MT5で動くEA作成入門トップへ


スクロールできます

MQLでプログラミングせずにEA/インジケーターを作るならEAつくーる

自作のEAを稼働するならTariTaliでキャッシュバック

無料EAを使うならEA-BANK

PVアクセスランキング にほんブログ村
よかったらシェアしてね!
  • URLをコピーしました!
目次