gpt4 book ai didi

计算 float 中 `.` 之后的位数?

转载 作者:太空狗 更新时间:2023-10-29 15:16:23 24 4
gpt4 key购买 nike

这是一道面试题。如何计算 float 中 . 之后的位数。

例如如果给出 3.554 输出=3

对于 43.000 输出=0。我的代码片段在这里

double no =3.44;
int count =0;
while(no!=((int)no))
{
count++;
no=no*10;
}
printf("%d",count);

有些数字不能用float类型表示。例如float类型中没有73.487,c中float表示的数为73.486999999999995来近似

现在如何在无限循环中解决它。

注意:在 IEEE 754 规范中,32 位 float 被划分为 24+7+1 位。 7位表示尾数。

最佳答案

我怀疑这就是您想要的,因为问题要求的是 float 通常没有意义的东西,但答案如下:

int digits_after_decimal_point(double x)
{
int i;
for (i=0; x!=rint(x); x+=x, i++);
return i;
}

关于计算 float 中 `.` 之后的位数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17837654/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com