Next: , Previous: , Up: The Text Interpreter   [Contents][Index]


6.14.2 Number Conversion

テキスト・インタプリタが数値入力をどのように変換するかの概要は Literals in source code にあります。 このセクションでは、 関連するいくつかのワードについて説明します。

デフォルトでは、 整数変換に使用される基数は変数 base の内容によって与えられます。 注意: 予期しない base の値によって多くの混乱が生じる可能性があることに注意してください。 base を変更する場合、 必ず古い値を保存し、 後で復元してください。 さらに良いのは、これを自動的に実行する base-execute を使用することです。 一般に、 base を 10 進数のままにし、 一般的な 10 進数以外の基数については Literals in source code で説明されている接頭辞を使用することをお勧めします。

base-execute ( i*x xt u – j*x  ) gforth-0.7 “base-execute”

BASE の内容を u にして xt を実行し、 その後元の BASE を復元します。

base ( – a-addr  ) core “base”

User 変数 – a-addr は、 入出力時の数値変換にデフォルトで使用される基数を格納するセルへのアドレスです。 base に保存せず、 代わりに base-execute を使用してください。

hex ( ) core-ext “hex”

base を &16 (16 進数) に設定します。 hex を使用せず、 代わりに base-execute を使用してください。

decimal ( ) core “decimal”

base を &10 (10 進数) に設定します。 10 進数 を使用せず、 代わりに base-execute を使用してください。

dpl ( – a-addr  ) gforth-0.2 “Decimal-PLace”

User 変数 – a-addr は、 最新の数値変換における小数点の位置を格納するセルのアドレスです。 -1 に初期化されます。 小数点を含まない数値を変換すると、 dpl は -1 になります。 2. の変換後は 0 が保持されます。 234123.9 の変換後は 1 が保持されます。

数値変換は、 不注意な人にとっては多くの罠があります:

Line input and conversion で説明されているワードを使用して、 プログラムに数値を読み込むことができます。