目标 c int 转 double 计算

发布于 2025-01-07 11:40:58 字数 411 浏览 1 评论 0原文

可能的重复:
C 编程部门

我正在尝试使用用户输入的频率来计算加速度计更新的周期。

这是我的代码:

double interval = 1/Freq;

interval = period

Freq 是用户设置的 int。

我遇到的问题是,假设我将 Freq 设置为 2Hz,因此间隔应该为 0.5,但间隔却是 0.0000000,这是为什么?我可以做任何事情来改变它而不将 Freq 更改为双精度吗?

Possible Duplicate:
C programming division

I'm trying to calculate the period of accelerometer updates using a user entered frequency.

this is my code:

double interval = 1/Freq;

interval = period

Freq is an int set by the user.

The problem I'm having is lets say I set Freq to 2Hz so the interval should be 0.5 but instead interval is 0.0000000 why is this? Can I do anything to change it without changing Freq to a double?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

此岸叶落 2025-01-14 11:40:58

您正在使用整数除法:(1Freq 都是整数)。因此结果将是一个整数,在本例中更准确地说是 0

你可以这样做:

double interval = 1.0 / Freq;

或者

double interval = 1 / (double)Freq;

You are using integer division: (both 1 and Freq are integers). So the result will be an integer, and more exactly 0 in this case.

You can do something like this:

double interval = 1.0 / Freq;

Or

double interval = 1 / (double)Freq;
你没皮卡萌 2025-01-14 11:40:58

这样做,

double interval = 1.0/Freq;

do it this way,

double interval = 1.0/Freq;
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文