1

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

dc -e "16i$1p"

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

795717178255658627448611597034913344160729841275756347904742363029055\
1952200534008528895

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

4

2 に答える 2

0

dc質問は古くて冷たいですが、GNUとの両方の新しいバージョンではbc、環境変数を介してこの機能を無効にできることに注意するのが適切だと思います

n=FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
n+=FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF

DC_LINE_LENGTH=0 dc -e "16i${n}p"

BC_LINE_LENGTH=0 bc <<<"ibase=16; $n"
于 2016-12-30T12:04:37.263 に答える