浮点数 - 错误的输出

Floating point number - wrong output

本文关键字:输出 错误 浮点数      更新时间:2023-10-16

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

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

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

我得到的输出是:1 和 1,这是为什么?我认为由于浮点数和双精度意味着保存浮点变量,他们会计算 4 除以 3 并给我某种输出,例如:1,33 - 但事实并非如此。

我如何使用它们来构建保存 2 个数字除法结果的变量,因为我没有足够的时间自己进行任何计算;)

非常感谢所有安维尔!

干杯最大

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

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