C++ 1000.f中的.f是什么意思?c++;

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常量,

我正在学习如何使用SDL制作游戏的教程。在教程中的某一点上,我需要计算游戏的FPS。本教程将执行以下操作:

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++没有概念。想必编译器会足够聪明来避免转换,并且最终会得到相同的编译代码,对吗?