回答:
これには、ダブルセル演算、ビット単位、数値比較、スタック操作ワードが含まれます。ダブルセル整数リテラルもカウントされます。
1.)にピリオドを追加すると、ダブルセルリテラルが得られます。数値が小さい場合は、1バイトだけのコストでゼロを追加することを意味します。m+= 0 d+〜= under+(正確にはありません。オーバーフローが発生する可能性があるためです。)d2*およびd2/抽出するために使用することができた/ワードから1ビットを押します。a b c d d= = a c = b d = anda b c d d<> = a c <> b d <> or2dupは2over、2tuckローカル変数に勝つ可能性が高くなります。gforthには、浮動小数点数用の個別のスタックがあります。整数のみを処理している場合でも、明示的なスタック操作を回避するか、メインスタックでは使用できないFP固有の操作を使用することにより、一部の作業とストレージをFPスタックにオフロードすると、コード全体が短くなる可能性があります。FPスタックに戻ることも完全に有効なオプションです(タスクがブール値を返す場合を除く)。
fのようプレフィックスf+、fdup等)。FP数リテラルは、一の以上のバイト(接尾コストeのように、1e)が、いくつかの数字は、ネクタイや偶数バイト(例えば保存することができます1e3代わりに1000)を。1+あり1-ます。おそらく最も痛い存在です。f**(累乗)、falog(10の累乗)fsqrt、およびさまざまなexp、log、三角法に関連するものが含まれます。s>f(シングルからフロート)、f>s(フロートからシングル)、d>f(ダブルからフロート)、f>d(フロートからダブル)を使用して、メインスタックとFPスタックの間で数値を移動できます。時々、「ダブル」バリエーションは、追加のゼロを生成または消費するために使用される場合があります。