use*_*468 5 c scientific-notation
我正在阅读C编程 - 一种现代的方法,我偶然发现了关于电子符号的部分.我很难理解它们.
请使用以下代码:
printf("%12.5e", 30.253);
Run Code Online (Sandbox Code Playgroud)
这导致以下输出:
3.02530e+01
Run Code Online (Sandbox Code Playgroud)
谁能解释一下这是如何工作的?数字12在这里表示什么?
chq*_*lie 10
的printf "%12.5e"格式指示printf到转换double(或float)参数的字符串采用指数表示法与后5位.和总共至少12个字符的.在您的示例中,输出实际上在数字前面包含一个额外的空格:3.02530e+01以生成总数12字符.为了使它更明显,你可以尝试:
printf("|%12.5e|\n", 30.253);
Run Code Online (Sandbox Code Playgroud)
并验证输出是:
| 3.02530e+01|
Run Code Online (Sandbox Code Playgroud)
由指数表示printf()总是使用一个数字,.而指数(e+01此处)表示10乘以该数字的幂.它是科学界常用的符号:
30.12 is the same as 3.012e1 or 3.012e+01
0.0012 is the same as 1.2e-3
Run Code Online (Sandbox Code Playgroud)
您可以使用此语法在C源代码中编写浮点常量.
| 归档时间: |
|
| 查看次数: |
14924 次 |
| 最近记录: |