問題タブ [dc]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
122 参照

dc - GNU dc (電卓) での分岐または if/else

GNU dc で分岐するにはどうすればよいでしょうか? OpenBSD の実装には、else-branch による条件分岐がありますが、GNU の実装にはありません... したがって、条件付きで 1 つのマクロを実行できますが、完了すると、コード内の同じ場所に戻ります。

スタックにセンチネル値を残すことで達成できるように思えますが、それはエラーが発生しやすいです (特に、dc は文字列比較を実行できないため、数字だけのセンチネルが残ります)。

たぶん q/Q と関係がありますか?

これは可能ですか?

0 投票する
2 に答える
56 参照

bash - DCが出力を壊すのを防ぐ方法

「dc」コマンドを使用して、16 進数から 10 進数に変換しています

問題は、大きな数値で出力が壊れることです

この動作を防ぐにはどうすればよいですか? これを無効にするために渡すオプションまたは引数はありますか?

0 投票する
1 に答える
69 参照

arrays - dc unix : 同じ配列インデックスに新しい値を格納した後でも初期値を保持する

のマンページにあるこの例を理解できませんdc:

私にとって答えは2であるべきです:

  1. 1 0:a
    ここでは、配列 の 0 番目の位置に 1 を格納しaます。

  2. 0Sa
    次に、 register のスタックに 0 をプッシュしますa

  3. 2 0:a ここでも、配列の 0 番目の位置に 2 をa格納し、その位置に格納されていた前の 1 を上書きします。

  4. La
    次に、レジスタのスタックに格納されている 0 をポップしaて、メイン スタックにプッシュします。

  5. 0;a
    ここで再び 0 をメイン スタックにプッシュし、それをポップして配列インデックスとして使用し、配列の 0 番目の場所に格納されている 2aをメイン スタックにプッシュします。

  6. p
    ここで、メイン スタックの一番上にある 2 を出力します。したがって、答えは 2 になるはずです。

私は何が欠けていますか?

編集 :