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

Sim*_*lyZ 11 c++

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

caption << "Average Frames Per Second: " << frame / ( fps.get_ticks() / 1000.f );
Run Code Online (Sandbox Code Playgroud)

现在,我确切知道代码的作用,除了它除以1000.f.的部分.我一直在寻找但是找不到.f的意思.

所以我的问题是,.f是什么意思?为什么会这样?

Luc*_*ton 19

1000是一个int文字.

1000.是一个double文字.

1000.f是一个float文字.


Chr*_*odd 8

这意味着这是一个float常数而不是double常数.至于效果,在大多数C++编译器上,它将没有效果,因为float将转换为a double来进行除法.


Naw*_*waz 6

.f制作数字float类型.

看看这个有趣的演示:

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;
Run Code Online (Sandbox Code Playgroud)

输出:

a不等于3.2
b等于3.2f

请在ideone上进行实验:http://www.ideone.com/WS1az

试着改变变量的类型afloatdouble,再次看到的结果!


lin*_*r27 5

它告诉你文字1000.应该被视为一个float.看这里了解详情.


Iva*_*van 5

这意味着1000.f被视为浮动.