int與float的混合計(jì)算 C語(yǔ)言整數(shù)能和浮點(diǎn)數(shù)相乘嗎?
C語(yǔ)言整數(shù)能和浮點(diǎn)數(shù)相乘嗎?例如:int a=2flat B=4 double C=0 C=a*B//整數(shù)與小數(shù)相乘將轉(zhuǎn)換為double int d=0 d=(int)(a*B)//強(qiáng)制轉(zhuǎn)換整數(shù),否則
C語(yǔ)言整數(shù)能和浮點(diǎn)數(shù)相乘嗎?
例如:int a=2flat B=4 double C=0 C=a*B//整數(shù)與小數(shù)相乘將轉(zhuǎn)換為double int d=0 d=(int)(a*B)//強(qiáng)制轉(zhuǎn)換整數(shù),否則將報(bào)告錯(cuò)誤
整數(shù)是正整數(shù)、負(fù)整數(shù)和零,如-6、0、32,浮點(diǎn)數(shù)是指小數(shù)位數(shù)有限的有理數(shù),如-10.8、0.00、25.01等。整數(shù)可以是整數(shù),也可以是浮點(diǎn)數(shù)。例如,255是整數(shù),255.0是浮點(diǎn)數(shù)。整數(shù)運(yùn)算,結(jié)果為整數(shù),結(jié)果的小數(shù)部分將被忽略。例如,當(dāng)使用整數(shù)運(yùn)算時(shí),100△3=33。浮點(diǎn)運(yùn)算,結(jié)果是一個(gè)浮點(diǎn)數(shù),結(jié)果的小數(shù)部分將被保留。
整數(shù)和浮點(diǎn)數(shù)的區(qū)別?
實(shí)數(shù)和浮點(diǎn)數(shù)通常是帶小數(shù)點(diǎn)的數(shù)字。
整數(shù)是不包含大于0的小數(shù)點(diǎn)的整數(shù)。
在PLC中,通常使用實(shí)數(shù),溫度等模擬量通常為整數(shù)。
PLC中,實(shí)數(shù),整數(shù),浮點(diǎn)數(shù),都是什么意思,一般都什么情況下用這些?
因?yàn)槟瑫r(shí)將t和N定義為整數(shù),所以整數(shù)除以整數(shù)只能是整數(shù)。
即使將結(jié)果t定義為浮點(diǎn)數(shù),得到的也只是一個(gè)小數(shù)點(diǎn)后幾位為0的整數(shù),并且此循環(huán)到第二次t等于0.000000時(shí),跳出循環(huán)
浮點(diǎn)數(shù)在計(jì)算15位以上時(shí)會(huì)產(chǎn)生錯(cuò)誤,這與計(jì)算機(jī)中使用二進(jìn)制有關(guān),所以使用浮點(diǎn)數(shù)不能進(jìn)行高精度運(yùn)算。如圖所示,在Python中運(yùn)行的結(jié)果可以支持無(wú)限精確的整數(shù)運(yùn)算。因此,如果要得到高精度的運(yùn)算結(jié)果,可以用整數(shù)代替浮點(diǎn)數(shù)
整數(shù)沒(méi)有小數(shù)部分;浮點(diǎn)數(shù)可以有小數(shù)部分。浮點(diǎn)數(shù)可以表示比整數(shù)范圍大得多的數(shù)字。對(duì)于某些算術(shù)運(yùn)算,例如兩個(gè)大數(shù)的相減,浮點(diǎn)數(shù)會(huì)損失更多的精度。因?yàn)樵谌魏螀^(qū)間(比如1.0到2.0之間)有無(wú)窮多個(gè)實(shí)數(shù),所以計(jì)算機(jī)浮點(diǎn)數(shù)不能表示它們