C++ 浮点数-输出错误

C++ 浮点数-输出错误,c++,floating-point,C++,Floating Point,我必须使用某些变量进行一些计算,我面临的问题是最终结果不正确,我偶然发现了以下问题 我发现,当我将以下行赋给浮点或双变量时,它们应该包含浮点: float a=4/3; double b=4/3; cout<< a << b; 我得到的结果是:1和1,为什么?我认为,因为float&double意味着保存浮点变量,它们会计算出4除以3的值,并给出类似于:1,33的输出,但事实并非如此 既然我没有足够的时间自己做计算,我怎么能用它们来构建变量来保存除以2的结果 非常

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

我发现,当我将以下行赋给浮点或双变量时,它们应该包含浮点:

float a=4/3; 
double b=4/3; 
cout<< a << b; 
我得到的结果是:1和1,为什么?我认为,因为float&double意味着保存浮点变量,它们会计算出4除以3的值,并给出类似于:1,33的输出,但事实并非如此

既然我没有足够的时间自己做计算,我怎么能用它们来构建变量来保存除以2的结果

非常感谢所有的回答


干杯,Max,这是因为你在除整数。必须将数字强制转换为浮点精度

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