bash 内置的 printf 的 %a 格式说明符是什么?
What is this bash built-in's printf's %a format specifier?
使用 Bash 5.0.17(1)-release
表演:
LC_NUMERIC=C printf '%a\n' 0.0
输出:
0x0p+0
测试多个值:
for v in 1.0 2.0 42.0 3.141592653589793
do LC_NUMERIC=C printf '%-20s %a\n' "$v" "$v"
done
输出为:
1.0 0x8p-3
2.0 0x8p-2
42.0 0xa.8p+2
3.141592653589793 0xc.90fdaa22168bde9p-2
这个 %a
格式说明符是什么,我找不到 man bash
或 help printf
的文档或在网上搜索?
What is this %a
format specifier, I could not find documented with man bash
or help printf
or searching the web?
它提供与 C 标准库的 printf()
函数中使用的相同格式说明符相同的功能。具体来说,它打印 floating-point 数字的十六进制表示形式。
使用 Bash 5.0.17(1)-release
表演:
LC_NUMERIC=C printf '%a\n' 0.0
输出:
0x0p+0
测试多个值:
for v in 1.0 2.0 42.0 3.141592653589793
do LC_NUMERIC=C printf '%-20s %a\n' "$v" "$v"
done
输出为:
1.0 0x8p-3
2.0 0x8p-2
42.0 0xa.8p+2
3.141592653589793 0xc.90fdaa22168bde9p-2
这个 %a
格式说明符是什么,我找不到 man bash
或 help printf
的文档或在网上搜索?
What is this
%a
format specifier, I could not find documented withman bash
orhelp printf
or searching the web?
它提供与 C 标准库的 printf()
函数中使用的相同格式说明符相同的功能。具体来说,它打印 floating-point 数字的十六进制表示形式。