This question already has answers here:
C++ program converts fahrenheit to celsius
(8个答案)
4年前关闭。
为什么
和
锻炼?
他似乎将5/9视为整数并将其立即设置为0,但结果变量是浮点数,因此编译器应该知道他可以使用5/9还是?
请注意以下简短列表
integer literals和floating point literals的更全面列表
在您的示例中,整个右侧都在
记住,using the correct literal is important!
(8个答案)
4年前关闭。
为什么
float bla = ( 5/9 )* (100 - 32) result in 0 * 100 -> 0 ?
和
float bla= 5*(100- 32) / 9;
锻炼?
他似乎将5/9视为整数并将其立即设置为0,但结果变量是浮点数,因此编译器应该知道他可以使用5/9还是?
最佳答案
使用正确的文字,以便获得正确的数学行为
float bla = 5.0f * (100.0f - 32.0f) / 9.0f;
请注意以下简短列表
5 // int
5l // long
5.0 // double
5.0f // float
5ul // unsigned long
integer literals和floating point literals的更全面列表
在您的示例中,整个右侧都在
int
操作中执行,然后最终结果隐式转换为float
。到那时为时已晚。记住,using the correct literal is important!
关于c++ - C++不需要5/9,并且似乎将其转换为类型,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27971967/
10-14 06:41