ナビゲーションリンクをスキップ | |
印刷ビューの終了 | |
![]() |
マニュアルページセクション 1: ユーザーコマンド Oracle Solaris 11 Information Library (日本語) |
- 電卓機能
/usr/bin/dc [filename]
/usr/xpg6/bin/dc [filename]
dc は、任意の精度の算術演算パッケージです。通常 dc は、10 進整数を処理しますが、入力の基数、出力の基数、および少数の桁数を指定することもできます。dc の全体構造は、スタック式 (逆ポーランド式) 計算機です。引数を指定すると、入力は指定したファイルから読み取られ、ファイルの終わりに致達すると標準入力から読み取られます。
bc は、中置記法と、機能を実装するための C 言語スタイルの構文を備えた、dc のプリプロセッサです。bc は、プログラムに対する合理的な制御構造も規定しています。詳細については、bc(1) を参照してください。
次の構文は、/usr/bin/dc と /usr/xpg6/bin/dc の両方で認識されます。
数値が、スタックにプッシュされます。数は、0 - 9 の数字からなる連続した文字列です。負の数を入力するには、下線 (_) を前に付けます。数値には、小数点が含まれる場合があります。
スタックの先頭の値がポップされ、レジスタ x に格納されます。ここで x は任意の文字です。s を大文字にすると、x はスタックとみなされ、値はそこにプッシュされます。
レジスタ x の値がスタックにプッシュされます。レジスタ x は変更されません。すべてのレジスタは、最初は 0 に設定されます。l を大文字にすると、レジスタ x はスタックとみなされ、その先頭の値がポップされ、メインスタックにプッシュされます。
スタックの先頭の値が複製されます。
スタックの先頭の値が出力されます。先頭の値はそのままです。
スタックの先頭の値を ASCII 文字列として解釈し、それをスタックから削除し、出力します。
スタック上のすべての値が出力されます。
プログラムを終了します。文字列を処理している場合、再帰レベルは 2 レベルだけポップします。
プログラムを終了します。スタックの先頭の値がポップされ、文字列実行レベルはその値の分ポップします。
スタックの先頭要素を文字列とみなし、それを dc コマンドの文字列として実行します。
スタックの先頭の値をそのスケールファクタで置き換えます。
角括弧で囲まれた ASCII 文字列をスタックの先頭に入れます。
スタックの先頭の要素 2個がポップされ、比較されます。レジスタ x は、指定された関係が成立していれば評価されます。
スタックの先頭の要素をその平方根で置き換えます。引数に小数部分があるときは、それが考慮されますが、スケールファクタは無視されます。
残りの行をシェルコマンドとして解釈します。
スタック上のすべての値がポップされます。
スタックの先頭の値がポップされ、以後の入力の基数として使用されます。
入力の基数をスタックの先頭にプッシュします。
スタックの先頭の値がポップされ、以後の出力の基数として使用されます。
スタックの先頭に出力の基数をプッシュします。
スタックの先頭の値がポップされ、その値が負ではないスケールファクタとして使用されます。 出力の際には、適切な桁数の保持に、また乗算、除算、および累乗の際には、位置取りの保持に使用されます。スケールファクタ、入力の基数、および出力の基数の相互作用は、これらすべてを一度に変更した場合には妥当なものになります。
現在のスケールファクタをスタックの先頭にプッシュします。
スタックレベルをスタックにプッシュします。
スタックの先頭の数をその長さで置き換えます。
入力行が入力ソース (通常は端末) から取られて実行されます。
dc デバッグ情報を表示します。
bc(1) が配列演算に使用します。
次の構文は、/usr/bin/dc で認識されます。どのような場合でも、結果のスケールが使用されます。
スタックの先頭の 2 つの値が、加算 (+)、減算 (-)、乗算 (*)、除算 (/)、剰余計算 (%)、または累乗 (^) されます。2 つの値は、スタックからポップされます。結果は、スタックのその場所にプッシュされます。指数の小数部分は無視されます。
次の構文は、/usr/xpg6/bin/dc で認識されます。除算の結果には、20 のスケールが使用されます。
スタックの先頭の 2 つの値が、加算 (+)、減算 (-)、乗算 (*)、除算 (/)、剰余計算 (%)、または累乗 (^) されます。2 つの値は、スタックからポップされます。結果は、スタックのその場所にプッシュされます。指数の小数部分は無視されます。
除算の前に設定されたスケールが結果のスケールになります。
例 1 n! の最初の 10 個の値を出力
この例では、n! の最初の 10 個の値を出力します。
[la1+dsa*pla10>y]sy 0sa1 lyx
属性についての詳細は、attributes(5) を参照してください。
|
x は 8 進数です。
空きリストを使い果たしました (桁数が多すぎます)。
スタックへのプッシュが多すぎます (スタックのオーバーフロー)。
スタックからのポップが多すぎます (スタックのアンダーフロー)。
ネストが深すぎます。
0 による除算です。
負の数の平方根は定義されていません (虚数は扱えません)。
dc は整数の累乗だけを処理します。
最大許容指数は 999 です。
入力の基数 x: 2<= x <= 16。
入力の基数 x: 2<= x <= 16。
出力の基数は、BC_BASE_MAX 以下でなければなりません。
スケールファクタは 1 以上でなければなりません。
スケールファクタは BC_SCALE_MAX 以下でなければなりません。
指定された変数が多すぎます。
インデックスは 1 以上でなければなりません。
インデックスは、BC_DIM_MAX 以下でなければなりません。