整数除法、舍入

发布于 2024-09-30 09:38:50 字数 209 浏览 0 评论 0原文

有整数变量,电压以毫伏为单位。

signed int voltage_mv = 134; //134mV

我有 2 段显示器,我想显示百分之一伏。

如何在一次操作中将毫伏转换为百分之一伏?没有IF语句,就没有函数吗?

134 => 13
135 => 14

There is integer variable, voltage in millivolts.

signed int voltage_mv = 134; //134mV

I have 2-segment display and I want to display hundredths of volts.

How can I convert milivolts to hundredths volts in one operation? Without IF statement, without function?

134 => 13
135 => 14

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

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

发布评论

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

评论(2

音栖息无 2024-10-07 09:38:50

简单舍入怎么样:(

int millivoltToDisplay (int millivolts)
{
  return (millivolts+5)/10;
}

为了清楚起见,写成函数)

How about simple rounding:

int millivoltToDisplay (int millivolts)
{
  return (millivolts+5)/10;
}

(written as a function for clarity)

再见回来 2024-10-07 09:38:50

为了同样的完整性,如果分母是奇数,那么

return (millivolts+denominator/2)/denominator;

您可以直接

return (2*millivolts+denominator)/(2*denominator);

进行正确的舍入,而不是这样做:

For the same of completeness, if the denominator is odd, then instead of doing:

return (millivolts+denominator/2)/denominator;

you can just have

return (2*millivolts+denominator)/(2*denominator);

and get the correct rounding.

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