1

bash スクリプトを使用して 16 進文字列を uint64_t (または unsigned long long int) に変換することは可能ですか? 番号はFFFFFFFF3D4331BC?

bc署名されていない数字ではコマンドが機能しないようですか?

4

4 に答える 4

2
echo "main(){unsigned long long int i = 0xFFFFFFFF3D4331BC; printf(\"%llu\\n\", i);}" | gcc -x c - && ./a.out

私はCでそれをやっただけです。

編集:答え

18446744070442398140
于 2013-05-28T15:07:19.527 に答える
1

で答えをバッシュbc

$ echo "ibase=16; FFFFFFFF3D4331BC" | bc
18446744070442398140

次のように変数に格納することもできます。

$ n=FFFFFFFF3D4331BC
$ echo "ibase=16; $n" | bc
18446744070442398140
于 2013-05-28T15:11:44.463 に答える
0

パールの答え:

perl -Mbigint -le 'print hex FFFFFFFF3D4331BC'

出力:

18446744070442398140
于 2013-05-28T15:08:44.140 に答える