浮点数 - 输出错误

时间:2014-11-22 22:49:23

标签: c++ floating-point

我必须使用某些变量进行一些计算,我面临的问题是最终结果不正确,我偶然发现了以下问题。

我发现当我将以下行分配给float或double变量时,它应该保存浮点数:

float a=4/3; 
double b=4/3; 
cout<< a << b; 

我得到的输出是:1和1,为什么?我认为,浮点数和双数意味着保持浮点数变量,他们会计算4除以3的结果,并给出一些输出,如:1,33 - 但事实并非如此。

我如何使用它们来构建包含2个数字的结果的变量,因为我没有足够的时间自己制作任何计算;)

非常感谢所有的回答!

Cheers Max

1 个答案:

答案 0 :(得分:1)

这是因为你正在划分整数。您必须将数字转换为浮点精度。

float a=4.0f/3; 
double b=4.0f/3; 
cout<< a << b;