提问人:Sonia Sharifi 提问时间:7/21/2023 最后编辑:Sonia Sharifi 更新时间:7/21/2023 访问量:9
获取函数的浮点数的错误返回值
get wrong return value of float of a function
问:
我有一个函数,可以在 FPU 表示(符号、指数、尾数)中计算两个浮点数的乘法。乘法函数的输出在打印中是正确的,但是当我在另一个函数中获取该函数的返回值时,它得到了错误的值。 main 函数位于同一项目的另一个文件中。
代码如下:
float fpu(double x,double y)
{
myfloat var1;
myfloat var2;
var1.f = x;
var2.f = y;
float g= var1.f * var2.f;
float ft= exploitdata(var1,var2,g);
printf("\n final number is : %f",ft);
return ft;
}
int main()
{
float w=0;
w=fpu(0.285,-0.2574);
printf("\n output is: %f",w);
return 0;
}
输出为:
final number is: -0.073359
output is : 29.00000
我尝试了 double 和 printf(“%lf”),但它得到了错误的值。我将函数类型更改为double fpu(double x,double y),但它无济于事。
答: 暂无答案
评论