我在不同的电脑上运行相同的shell代码 awk'{printf“%d”,49420877107}',但得到不同的答案。
PC一
Shell
awk --version
GNU Awk 4.1.3
PC二
Shell
awk --version
awk:not an option
awk -W version
mawk 1.3.3 Nov 1996, Copyright (C) Michael D. Brennan
compiled limits:
max NF 32767
sprintf buffer 2040
awk '{printf "%d ", 49420877107}'
2147483647
有人知道原因吗?非常感谢。
答案 0 :(得分:3)
第二个,显示2147483647将%d视为4字节整数,其中第一个PC使用更多字节,可能是长字节。这将取决于在该机器上编译awk
的方式或使用的awk版本。
结帐:https://superuser.com/questions/646919/how-can-i-find-my-awk-version
答案 1 :(得分:0)
您确定awk
的版本是否相同?
$awk --version
OFMT/CONVFMT
awk 'BEGIN { print "Conversion Format =", CONVFMT }'
的转换格式