C++ 1000.f中的.f是什么意思?c++;
我正在学习如何使用SDL制作游戏的教程。在教程中的某一点上,我需要计算游戏的FPS。本教程将执行以下操作:C++ 1000.f中的.f是什么意思?c++;,c++,C++,我正在学习如何使用SDL制作游戏的教程。在教程中的某一点上,我需要计算游戏的FPS。本教程将执行以下操作: caption << "Average Frames Per Second: " << frame / ( fps.get_ticks() / 1000.f ); caption它告诉您文字1000。应被视为浮点数。查看详细信息。1000是一个int文本 1000。是一个doubleliteral 1000.f是一个float文本。它意味着这是一个float常量,
caption << "Average Frames Per Second: " << frame / ( fps.get_ticks() / 1000.f );
caption它告诉您文字1000。
应被视为浮点数
。查看详细信息。1000
是一个int
文本
1000。
是一个double
literal
1000.f
是一个float
文本。它意味着这是一个float
常量,而不是一个double
常量。至于效果,在大多数C++编译器中,它不会有任何效果,因为<代码>浮点< /C> >将转换成<代码>双< /代码>来进行除法。 这意味着1000。f被当作浮点处理。< /p> < P>浮点文字可以有(f,f,l或L)的后缀。“f和f”指定一个浮点数
常量,“l和l”a双精度。f
使数字浮点数
类型
看看这个有趣的演示:
float a = 3.2;
if ( a == 3.2 )
cout << "a is equal to 3.2"<<endl;
else
cout << "a is not equal to 3.2"<<endl;
float b = 3.2f;
if ( b == 3.2f )
cout << "b is equal to 3.2f"<<endl;
else
cout << "b is not equal to 3.2f"<<endl;
float a=3.2;
如果(a==3.2)
为什么它是一个双重和浮动在同一时间?他们为什么要这样做呢?b
分配中的f
不是多余的吗?@noot101:是的。这实际上是多余的。如果您不使用它,则3.2
即double
将转换为float
。顺便说一句,这不是任务;那是初始化。啊,谢谢。我对C++没有概念。想必编译器会足够聪明来避免转换,并且最终会得到相同的编译代码,对吗?