2010-11-03 89 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 *分母);

並得到正確的四捨五入。