0

シェルスクリプトで dc を使用して入力と出力のベースを変更しようとしています。正確なコマンドを書き留めるのに苦労しています。私はBASHを持っていません。

私はこれのバリエーションを試しました: (input numb) 2i 10o p | 直流

4

1 に答える 1

1

dcman ページでは、「ベース」ではなく「基数」という用語が使用されています情報を検索するのに役立つかもしれません。

入力数値を与える前に、入力基数を設定する必要があります。例えば:

echo 100 2i p | dc

入力値を見た100ときに基数がまだデフォルトの10(10進数)に設定されていたため、(10進数)を出力します。dc100

これを試して:

echo 16i DEADBEEF 10o p 2o p | dc # but see below

出力は次のとおりです。

DEADBEEF
11011110101011011011111011101111

dc16進数には大文字が必要なようですA.. F. また、基数の指定には注意が必要です。16i入力を 16 進数に設定した後、 は 16 進数として10i解釈10し、入力基数を 16 に設定します (そして、16iそれを 0x16 または 22 に設定しようとしますが、これは違法です)。

実際、私は自分でその問題に遭遇したことがわかります。出力基数を 16 に設定するつもりAo p 2o pでし10o p 2o pた。問題を説明するためにそのままにしておきます。

于 2011-10-14T21:21:17.977 に答える