本文に進む 日本−日本語
日本HPホーム 製品とサービス お客様サポート/ ダウンロード ソリューション ご購入の方法
≫ お問い合わせ
詳細検索オプション
日本HPホーム
HP-UX リファレンス: セクション 1 : ユーザーコマンド (A~M) > d

dc(1)

HP-UX 11i Version 2: September 2004
≫ 

テクニカル ドキュメント

PDF版
フィードバック
ここから本文が始まります

 ≫ 目次

 ≫ 索引

名称

dc ― 電卓

構文

dc [file]

説明

dc は任意精度の算術パッケージです。 通常は 10 進整数で演算しますが、 入力基数、出力基数、確保する小数点以下の桁数も指定することができます。 ( bc(1) を参照。 bc は、任意表記法および関数をインプリメントする C 言語に似た構文を与える dc のプリプロセッサです。 bc も適当な制御構造をプログラムに与えます。) dc の構造全体はスタッキング (逆ポーランド式) 電卓です。 引き数を与えると、入力はそのファイルが終わるまでそのファイルから読みとられ、次に標準入力からとられます。 標準入力のファイルの終端、または q コマンドで dc は停止します。 以下の構文が認識されます。

number  

数の値はスタックにプッシュされます。 数は、数字 0-9 または A-F の連続した文字列です。 アンダースコア (_) を前に付けると、負の数を入力することができます。 数には、小数点を入れることができます。

+ - / * % ^  

スタックのトップにある 2 つの値の加算 (+), 減算 (-), 乗算 (*), 除算 (/), 剰余 (%), または指数計算 (^) を行います。この 2 つの値がスタックからポップされ、 その結果がスタック上の代りの位置にプッシュされます。 指数の小数部は無視され、警告メッセージが表示されます。 剰余は現在のスケールファクタに従って計算します。 これは整数剰余関数ではありません。 7 / 3 は 2.3 で、剰余 0.1 となるため、スケールが 1 ならば、 7 % 3 は 0.1(10 分の 1) になります。

sx 

スタックのトップがポップされ、 x という名前のレジスタにストアされます。 ただし、 x は任意の文字とすることができます。 s を大文字にすると、 x はスタックとして処理され、その値がプッシュされます。

lx 

レジスタ x における値がスタックにプッシュされます。 レジスタ x は変更されません。 レジスタはすべて初期値はゼロ値です。 l を大文字にすると、レジスタ x はスタックとして処理され、トップにある値がメインスタックにポップされます。

d  

スタック上のトップにある値が複写されます。

p  

スタック上のトップにある値がプリントされます。 そのトップにある値はそのままで変化しません。 P はスタックのトップを ASCII 文字列として解釈し、その削除およびプリントを行います。

f  

スタック上の値がすべてプリントされます。

q  

プログラムを終了します。 文字列を実行する場合、再帰レベルは 2 だけポップされます。 q を大文字にすると、スタックのトップにある値がポップされ、 文字列実行レベルはその値だけポップされます。

x  

スタックのトップにある要素を文字列として処理し、 dc コマンドの文字列としてそれを実行します。

X  

スタックのトップにあるある数値をそのスケールファクタで置き換えます。

[...] 

かっこで囲まれた ASCII 文字列をスタックのトップに書き込みます。 文字列は、ネストしたペアのかっこを使ってネストすることができます。

<x >x =x 

!<x !>x !=x 

スタックのトップにある 2 つの要素がポップされ比較されます。 それらが指定した関係にあれば、レジスタ x は評価されます。

v  

スタック上のトップにある要素をその平方根で置き換えます。 引き数に小数部があると、それは考慮されますが、それ以外では、スケールファクタは無視されます。

!  

行の残りを HP-UX システムコマンドとして解釈します (次の文字が <, >, または = でない場合に限ります。 この場合には、上記の該当する関係演算子が使用されます)。

c  

スタック上の値がすべてポップされます。

i  

スタックのトップにある値がポップされ、以降の入力の数値基数として使用されます。

I  

入力基数をスタックのトップにプッシュします。

o  

スタックのトップにある値がポップされ、以降の出力の数値基数として使用されます。 出力基数については、下記の注釈を参照してください。

O  

出力基数をスタックの最上部にプッシュします。

k  

スタックの最上部がポップされ、 その値が負でないスケールファクタとして使用されます。 つまり、該当する桁数が出力にプリントされ、 乗算、除算、および指数計算時には該当する桁数が保持されます。 スケールファクタ、入力基数、および出力基数の相互作用は、 すべてがともに変更される場合に適当になります。

K  

スケールファクタをスタックのトップにプッシュします。

z  

スタックレベルがスタックにプッシュされます。

Z  

スタックのトップにある数値をその長さで置き換えます。

?  

入力ソース (通常ターミナル) から 1 行とられ、実行されます。

;: 

bc によって配列演算のために使用されます。

Y  

dc 自体のデバッギング出力を生成します。

入力基数はどんな数値でもかまいませんが、 数字 0〜9 と A〜F のみが入力に利用できます。 したがって、基数は範囲 1〜16 までに制限されます。 16 個すべての可能な数字を任意の基数で使用でき、 つねに通常の値をとります。

出力基数はどんな数値でもかまいません。 2〜16 の範囲の基数では、「通常の」結果が得られます。 英字 A〜F は 10〜16 の値を表します。 基数 0 および 1 では、その長さがその数の値である 1 の文字列を生成します。 基数-1 は、 d で構成される同様の文字列を生成します。 その他の基数では、それぞれの「数字」は その数字の序数を与える (複数桁の)10 進数として表されます。 それぞれの「数字」は負の基数の場合には符号が付けられます。 「数字」はスペースで区切られます。 出力基数の定義を与えると、コマンド Op はつねに (その基数に適した表現で)"10"になります。 O1-p は出力基数に関する有効な情報を与えます。

診断

x is unimplemented
  

ただし、 x は 8 進数です。

stack empty  

要求された操作を行うには、スタック上にある要素の数が不十分です。

Out of space  

未使用リストが使い果たされています (桁数が多すぎます)。

Out of headers  

記憶している数値が多すぎます。

Out of pushdown  

スタック上にある項目の数が多すぎます。

Nesting Depth  

ネスト実行のレベルの数が多すぎます。

この例は n!(n の階乗) の最初の 10 個の値をプリントします。

[la1+dsa*pla10>y]sy 
0sa1 
lyx 

参照

bc(1)

『Number Processing Users Guide』の 「DC: An Interactive Desk Calculator チュートリアル」

印刷用画面へ
プライバシー 本サイト利用時の合意事項
© 1983-2004 Hewlett-Packard Development Company, L.P.