gpt4 book ai didi

objective-c - 除以小于 1 的 float 时无穷大?

转载 作者:太空宇宙 更新时间:2023-11-04 06:06:50 25 4
gpt4 key购买 nike

我有这段代码:

 float f;
float time;
time=samplesPerPeriod/44;
f=(1/time)*1000;

当 samplesPerPeriod 为 35 时,我在此日志中得到无限:

NSLog(@"frequency:%f Hz",f);

我不能除以一个小于 1 的数吗?这与这是 objective-c 类中的 c 函数这一事实有关吗?

谢谢。

最佳答案

你需要为这条线使用 float

time=samplesPerPeriod/44;

所以改为做

time=(float)samplesPerPeriod/44.0;

如果 samplesPerPeriod 是一个 int,则除法将是整数除法。这意味着你真的在做

35/40

作为 int,它是 0然后 转换为 float0.0。因此,您需要在除法之前将 samplesPerPeriod 转换为 float ,并且为了安全和清晰起见,请使用 44.0float 值也是分母。

关于objective-c - 除以小于 1 的 float 时无穷大?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8762165/

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