获取函数的浮点数的错误返回值

get wrong return value of float of a function

提问人:Sonia Sharifi 提问时间:7/21/2023 最后编辑:Sonia Sharifi 更新时间:7/21/2023 访问量:9

问:

我有一个函数,可以在 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),但它无济于事。

返回 乘法 浮动 FPU

评论


答: 暂无答案