熱門: 51單片機(jī) | 24小時(shí)必答區(qū) | 單片機(jī)教程 | 單片機(jī)DIY制作 | STM32 | Cortex M3 | 模數(shù)電子 | 電子DIY制作 | 音響/功放 | 拆機(jī)樂園 | Arduino | 嵌入式OS | 程序設(shè)計(jì)
![]() |
發(fā)布時(shí)間: 2021-4-19 22:39
正文摘要:為什么int型數(shù)據(jù)運(yùn)算后取整送給char型數(shù)組,數(shù)值與實(shí)際計(jì)算數(shù)值不同?比如圖中,A=0x0D69,運(yùn)算后整數(shù)部分應(yīng)為54,為什么Ac數(shù)組中的值是0x05?求解答! |
啊哈哈123 發(fā)表于 2021-4-20 15:47 明白了,感謝大佬! |
A的值0x0D69==3433 運(yùn)算公式A*64/4000/1 其中A*64 值大于 65535 (uint A),累加器會(huì)多3個(gè)65535輪回最終表現(xiàn)值為23107 最終運(yùn)算結(jié)果5.77--又因Ac是uchar類型 小數(shù)點(diǎn)舍去 其值為 5 其實(shí)上面的公式可以寫為 Ac[j] = (float)(A*64.0/4000.0); |
參與人數(shù) 1 | 黑幣 +20 | 收起 理由 |
---|---|---|
![]() | + 20 | 回帖助人的獎(jiǎng)勵(lì)! |
birdzhyli 發(fā)表于 2021-4-20 00:08 我已經(jīng)搞出來了,我把后面的×64/4000換成了直接×0.016,就出來了。謝謝你的回復(fù)! |
我也沒太明白,你可以單獨(dú)拿出來,設(shè)置一個(gè)整數(shù)一個(gè)uchar,給它們賦值,看看結(jié)果,分析一下原因,或者百度看看有沒有高手解釋 |
參與人數(shù) 1 | 黑幣 +20 | 收起 理由 |
---|---|---|
![]() | + 20 | 回帖助人的獎(jiǎng)勵(lì)! |
不好意思,我沒有問清楚。那兩句Vc[i]=i;AC[j]=j;是注釋掉的,不用看。 |
AC[j]=j,AC[0]應(yīng)該是0啊,怎么會(huì)是0x05? |
參與人數(shù) 1 | 黑幣 +20 | 收起 理由 |
---|---|---|
![]() | + 20 | 回帖助人的獎(jiǎng)勵(lì)! |
birdzhyli 發(fā)表于 2021-4-19 23:49 不好意思,我是把那兩句注釋掉了,綠色那里 |
birdzhyli 發(fā)表于 2021-4-19 23:49 不用看ij,就是運(yùn)算然后把值放入數(shù)組而已 |
這個(gè)圖看不明白,數(shù)組先賦值,再=i,后面再=j,前面的賦值意義何在? |
參與人數(shù) 1 | 黑幣 +20 | 收起 理由 |
---|---|---|
![]() | + 20 | 回帖助人的獎(jiǎng)勵(lì)! |
Powered by 單片機(jī)教程網(wǎng)