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

时间:2011-06-08 23:22:17

标签: c++

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

caption << "Average Frames Per Second: " << frame / ( fps.get_ticks() / 1000.f );

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

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

6 个答案:

答案 0 :(得分:19)

1000是一个int字面值。

1000.是一个double字面值。

1000.f是一个float字面值。

答案 1 :(得分:8)

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

答案 2 :(得分: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;

输出:

  

a不等于3.2
  b等于3.2f

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

尝试将变量a的类型从float更改为double,再次查看结果!

答案 3 :(得分:5)

它告诉您文字1000.应该被视为float。查看here了解详情。

答案 4 :(得分:5)

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

答案 5 :(得分:4)

浮点文字的后缀可以是(f,F,l或L)。 “f和F”指定float常量,“l和L”指定double