2010-11-03 46 views
0

存在整数变量,电压单位为毫伏。整数除法,舍入

signed int voltage_mv = 134; //134mV 

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

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

134 => 13 
135 => 14 
+0

简短的if语句可以作为三元操作吗?:。 – 2010-11-03 08:38:11

+1

134 mV为0.134 V,而不是13 V.您准备怎么做? – 2010-11-03 08:45:11

+0

如果要显示以伏特为单位的毫伏值,则必须将其除以1000.除非您的值超过1000 mV,否则结果将以0表示为整数。你确定要用伏特表示吗? – erelender 2010-11-03 08:47:31

回答

9

如何简单的四舍五入:

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

(写为澄清的函数)

+0

得爱情整数师。 – erelender 2010-11-03 08:36:58

+5

如果输入值为负值,该怎么办?为了正确舍入,你需要为此测试并减去5而不是加5,即'return mv> = 0? (mv + 5)/ 10:(mv - 5)/ 10;' – 2010-11-03 08:45:38

+0

给Paul R. - 太棒了! – Meloun 2010-11-03 08:59:11

4

出于同样的完整性,如果分母是奇数,则而不是做:

return(毫伏+分母/ 2)/分母;

你可以有

回报(2个*毫伏+分母)/(2 *分母);

并得到正确的四舍五入。