シェルスクリプトで dc を使用して入力と出力のベースを変更しようとしています。正確なコマンドを書き留めるのに苦労しています。私はBASHを持っていません。
私はこれのバリエーションを試しました: (input numb) 2i 10o p | 直流
dc
man ページでは、「ベース」ではなく「基数」という用語が使用されています。情報を検索するのに役立つかもしれません。
入力数値を与える前に、入力基数を設定する必要があります。例えば:
echo 100 2i p | dc
入力値を見た100
ときに基数がまだデフォルトの10(10進数)に設定されていたため、(10進数)を出力します。dc
100
これを試して:
echo 16i DEADBEEF 10o p 2o p | dc # but see below
出力は次のとおりです。
DEADBEEF
11011110101011011011111011101111
dc
16進数には大文字が必要なようですA
.. F
. また、基数の指定には注意が必要です。16i
入力を 16 進数に設定した後、 は 16 進数として10i
解釈10
し、入力基数を 16 に設定します (そして、16i
それを 0x16 または 22 に設定しようとしますが、これは違法です)。
実際、私は自分でその問題に遭遇したことがわかります。出力基数を 16 に設定するつもりAo p 2o p
でし10o p 2o p
た。問題を説明するためにそのままにしておきます。