定数・演算子・式

■値

マイクロスクリプトでは整数値、浮動小数値が扱えます。

∇整数値の表記

以下の2種類の表記ができます。

*10進数表記

〈数字列〉 “0”~“9”を使用。

例: 10 123 -24 0

*16進数表記

0x〈16進数字列〉 “0”~“9”、“A”~“F”(または“a”~“f”)を使用。

例: 0x4 0xAE

∇範囲

扱える範囲は、-2147483648(0x80000000)から+2147483647(0x7FFFFFFF)までです。

†32ビットの整数値が扱えます。

∇浮動小数値

浮動小数値の表記

〈数字列〉.〈数字列〉

〈数字列〉【 .〈数字列〉】〈指数部〉

〈指数部〉:E【+∥-】〈数字列〉

e【+∥-】〈数字列〉

“0”~“9”、“.”(小数点)、“E”または“e”を使用。

例: 1.0 5.2E5 2e-5

†E/e〈数字列〉は「10^〈数字列〉」(“^”はべき乗)を表わします。たとえば、「5.2E5」は「5.2×10^5=520000」となります。

†【 】内は省略できます。

†“.”(小数点)、または〈指数部〉がある場合は、浮動小数値とみなされます。

範囲

扱える範囲は、-1e300から1e300までです。

†64ビットの浮動小数値が扱えます。有効桁数は約14桁です。

∇不正値

一般的に式や項目の計算時に何らかの異常が発生した場合は、結果は不正値となります。

不正値は最小(負)の整数値(0x80000000)です。関数valid()で、不正値かどうか判断できます。

■文字定数

1つの文字を '(シングルクォーテーション)でくくったもので、文字コードを値とする整数値として取り扱われます。

†文字定数として使える文字はシステムスクリプトの文字のみです。

\はエスケープ文字として作用します。

\n 改段落 (0x000A)

\r 改行 (0x000D)

\t タブ (0x0009)

\b バックスペース (0x0008)

\0 ゼロ (0x0000)

\<文字> <文字> そのもの

例: '漢' 0x3441(漢の文字コード)

'A' 0x2441(Aの文字コード)

'\\' 0x216F(\の文字コード)

'\'' 0x2147('の文字コード)

'\n' 0x000A(改段落コード)

''(空文字) 0

■文字列定数

複数の文字の列を "(ダブルクォーテーション) でくくったもので、文字コードを値とする文字型の配列として取り扱われます。配列の最後には文字列の終了を示す値0が付加されます。

†「” “ ゛ ″」はすべてダブルクォーテーションとして同じに扱われます。

†文字列定数は一意表現であるものとして扱われます。

空の文字列も使えます。

\はエスケープ文字として作用します。

例:"文字列" '文','字','列',0 の4つの要素の文字型の配列

"\"A\"" '"','A','"',0 の4つの要素の文字型の配列

■演算子

演算子には、“単項演算子”と“2項演算子”があります。

単項演算子一覧
単項演算子 意味
- 符号の反転
~(~) ビット反転(1の補数)
! 論理否定
2項演算子一覧
2項演算子 意味
>=(≧) <=(≦) 関係演算子
>(〉) <(〈) 関係演算子
==(=) !=(≠) 等値演算子
+ - 加減演算子
*(×) /(÷) 乗除演算子
% 乗除演算子
&& || 論理演算子
<< >> シフト演算子
& ビットごとのAND演算子
| ビットごとのOR演算子
^ ビットごとの排他的OR演算子

†( )内の演算記号を使っても同じ意味です。

1) 比較(関係)演算子の結果は整数の値となります。

2) “+ - * /”(加減乗除)演算子の結果は、整数同士のときには整数値となり、そうでないときは浮動小数値となります。

3) “~ % & << >> | ^” の各演算子で、浮動小数値のときは整数に切り捨てられて演算されます。

4) すべての演算は数値(整数値/浮動小数値)に対してのみ適用できます。数値でないときは結果は不正値となります。

整数値/浮動小数値の演算で、値の範囲を超えたときの結果は保証されません。

0による除算(/)、および0による剰余(%)の結果は、被演算数が0、または正数の場合最大整数値または最大浮動小数値となり、負数の場合最小整数値または最小浮動小数値となります。エラーとはなりません。

関係演算子の演算結果は、真のとき“1”、偽のとき“0”の整数値を取ります。また、“0”の論理否定は“1”となり、“非ゼロ”の論理否定は“0”となります。

論理演算子の演算結果は、真のとき“1”、偽のとき“0”の整数値を取ります。

†ビット演算子“& |”と間違わないようにしてください。

∇演算子の優先度

演算子を優先度が高い順に並べます。おおむねC言語に準拠しています。

演算子の優先度一覧
演算子 結合順序
! ~ - (単項) 右から左
* / % 左から右
<< >> 左から右
+ - 左から右
< <= > >= 左から右
== != 左から右
& 左から右
^ 左から右
| 左から右
&& 左から右
|| 左から右

■式

式は、以下のものを演算子を使ってつなげたものです。

(式)

整数値、浮動小数値

文字定数、文字列定数

変数

セグメント名

手続き名

セグメント名.状態名

手続き名.状態名

†文字列定数、セグメント名、手続き名は数値ではありませんので、演算子でつなげることはできません。

■書式文字列

TEXT文などにおいて、出力の書式を指定することができます。そのための文字列を、“書式文字列”と呼びます。

"で囲まれた任意の文字列で、以下の書式指定を含みます。"の代わりに゛を使うこともできます。【 】内は省略できます。

†書式文字列としては文字列定数以外にも文字型の配列が使えます。

書式文字列一覧(1)
書式文字列 意味
%【【-】#】d 10進数変換
%【【-】#】x 16進数変換(A以降をa~fと表記)
%【【-】#】X 16進数変換(A以降をA~Fと表記)
%【【-】【#】【.#】】f 浮動小数変換:実数型式(n…n.n…n)
%【【-】【#】【.#】】e 浮動小数変換:指数型式(n.n…ne±dd)
%【【-】【#】【.#】】E 浮動小数変換:指数型式(n.n…nE±dd)
%【【-】【#】【.#】】g 浮動小数変換:f変換またはe変換
%【【-】【#】【.#】】G 浮動小数変換:f変換またはE変換

“#”は全体の文字数指定です。出力の幅を数値で指定します。先頭に0を置いて指定すると、空白となる上位のケタの部分を0で埋めます。".#"は小数点以下の文字数指定です。また、“-”をつけると、左ぞろえで出力します。

†g,G変換では、値が1E-5以下、または1En(nは “.#”で指定した数)以上のときに指数型式となります。

†これらの書式指定は、C言語のそれとおよそ似たものになっています。

プログラム例

VERSION 3
VARIABLE 数値:I
PROLOGUE
SET 数値=12
MESG "値=%d:",数値
END

出力
値=12:

プログラム例

VERSION 3
VARIABLE 書式:C[10]
PROLOGUE
SET 書式[:]="値=10.5f"
MESG 書式,sqrt(5)
END

出力
値=2.23607

書式文字列一覧(2)
書式文字列 意味
%【【-】【#】【.#】】s 文字列変換
%c 文字変換
%% '%'の文字
\n 改段落

“#”は全体の文字数指定です。出力の幅を数値で指定します。

“.#”は文字列の先頭からの有効文字数指定です。また、“-”をつけると、左ぞろえで出力します。

†“%s”は言語指定コードを含む文字列も正しく変換します。変換後は一意表現となります。

†“%c”はシステムスクリプトの文字のみ変換します。

プログラム例

VERSION 3
VARIABLE 文字列:C[10]
PROLOGUE
SET 文字列[:]="ABCDEFG"
MESG "文字列=%s",文字列
END

出力
文字列=ABCDEFG

プログラム例

VERSION 3
VARIABLE 文字列:C[10]
PROLOGUE
SET 文字列[:]="ABCDEFG"
MESG "文字列=%5.3s",文字列
END

出力
文字列=ABC

そのほかの例:

書式文字列の例一覧
書式文字列の例 出力
"値=%4d:" 値=12:
"値=%4x:" 値=c:
"値=%-4X:" 値=C:
"値=%04d:" 値=0012:

前のページへスクリプトの構文 次のページへ名前・変数

ページの先頭へ戻る

HOME > サポート情報 > 取扱説明書 > 定数・演算子・式