使用bash将十六进制转换为uint64\t
是否可以使用bash脚本将十六进制字符串转换为uint64_t(或无符号长整型)?号码是使用bash将十六进制转换为uint64\t,bash,Bash,是否可以使用bash脚本将十六进制字符串转换为uint64_t(或无符号长整型)?号码是FFFFFFFFFF3D4331BC bc命令似乎无法处理非单数 echo "main(){unsigned long long int i = 0xFFFFFFFF3D4331BC; printf(\"%llu\\n\", i);}" | gcc -x c - && ./a.out 我只是用C做的 编辑: 答复 我只是用C做的 编辑: 答复 Perl回答: perl -Mbigint -l
FFFFFFFFFF3D4331BC
bc
命令似乎无法处理非单数
echo "main(){unsigned long long int i = 0xFFFFFFFF3D4331BC; printf(\"%llu\\n\", i);}" | gcc -x c - && ./a.out
我只是用C做的
编辑:
答复
我只是用C做的
编辑:
答复
Perl回答:
perl -Mbigint -le 'print hex FFFFFFFF3D4331BC'
输出:
18446744070442398140
Perl回答:
perl -Mbigint -le 'print hex FFFFFFFF3D4331BC'
输出:
18446744070442398140
用
bc
回答问题:
$ echo "ibase=16; FFFFFFFF3D4331BC" | bc
18446744070442398140
也可以将其存储在如下变量中:
$ n=FFFFFFFF3D4331BC
$ echo "ibase=16; $n" | bc
18446744070442398140
用
bc
回答问题:
$ echo "ibase=16; FFFFFFFF3D4331BC" | bc
18446744070442398140
也可以将其存储在如下变量中:
$ n=FFFFFFFF3D4331BC
$ echo "ibase=16; $n" | bc
18446744070442398140
纯bash回答:
$ printf "%u\n" "0xFFFFFFFF3D4331BC"
18446744070442398140
纯bash回答:
$ printf "%u\n" "0xFFFFFFFF3D4331BC"
18446744070442398140
18446744070442398140
是正确答案吗?bash没有任何名为uint64\t
。您的意思是要将十六进制字符串转换为十进制字符串吗?18446744070442398140
是正确答案吗?bash没有任何名为uint64\t
。您的意思是要将十六进制字符串转换为十进制字符串吗?