欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標題:
請高手幫助看看簡單C語言數字運算程序
[打印本頁]
作者:
jmkl128
時間:
2019-6-26 06:42
標題:
請高手幫助看看簡單C語言數字運算程序
unit R0,R1,Avcc;
uint V1,I1,ADCbg;
Avcc=Vbg_ROM*1000/ADCbg;
V1 = Avcc;
顯示結果V1=0
Avcc=Vbg_ROM*100/ADCbg;
V1 = 10*Avcc;
顯示結果V1=216
Avcc=Vbg_ROM*10/ADCbg;
V1 = 100*Avcc;
顯示結果V1=45
按理說,三種情況V1的數值應該相同才對。是什么原因導致的?
作者:
jmkl128
時間:
2019-6-26 06:54
說明一下,Vbg_ROM=1247,ADCbg=273
作者:
lihaijun7781
時間:
2019-6-26 10:22
你的unit是什么數據類型, 如果是整形類的,這三個運算出來,就是會不一樣,1,2,3依次數據損失精度。
作者:
lihaijun7781
時間:
2019-6-26 10:23
當然你寫的結果,已經不是丟失精度了,是數據就錯誤了, 看看你的數據類型的范圍*1000是不是已經超出了表達范圍
作者:
wulin
時間:
2019-6-26 10:43
這很正常啊,由于數據類型的限制,運算過程中溢出部分或小數部分被丟棄,導致結果不一樣。你用強制轉換數據類型浮點算法就不會出錯。
作者:
來51學習
時間:
2019-6-26 11:13
單片機 unsigned int 最大計數是 65535
1247 * 1000 =?
1247 * 100 = ?
作者:
jmkl128
時間:
2019-6-26 23:35
謝謝各位壇友解答
作者:
147258369q
時間:
2019-6-28 10:08
超范圍啦!可以先除后乘
歡迎光臨 (http://m.raoushi.com/bbs/)
Powered by Discuz! X3.1