テキスト・インタープリターが数値入力をどのように変換するかの概要は 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 が保持されます。
数値変換は、 不注意な人にとっては多くの罠があります:
base @ .
を使用して現在の基数を測定することはできません。 これは現在の基数では常に 10 と表示されます。
代わりに、 base @ dec.
なととしてください。
bin
というワードがありますが、 これは基数を設定するものではありません(see General files)。
.
が文字列の最後の文字である必要があります。 Gforth では .
をどこにでも置くことができます。
Line input and conversion で説明されているワードを使用して、 プログラムに数値を読み込むことができます。