Sid*_*iri 3 c floating-point constants c-preprocessor
#include<stdio.h>
#define pi1 3.141
const float pi = 3.141;
int main()
{
printf("%f %f",4*10*pi, 4*10*pi1);
}
Run Code Online (Sandbox Code Playgroud)
输出(在我的机器上)是125.639999 125.640000
pi1是一个预处理器符号,在文本上被替换为double.
pi是一个从double初始化的浮点常量,因此会丢失一些精度位(参见IEEE754规范).
有关更多详细信息,pi作为float实际上存储为0x40490625,即3.1410000324249267578125.pi1存储为0x400920C49BA5E354,即3.1410000000000000142108547152