Discuz! Board
标题:
在STM8中如何处理16位*16位计算?
[打印本页]
作者:
cqcwc
时间:
2016-6-17 16:08
标题:
在STM8中如何处理16位*16位计算?
STM8S难道不能进行16位*16位的计算???在IAR中,
计算结果错误的程序:
x=AD转换;
uint32_t a;
a=x*3300;
a=a/1024;
a算出来怎么都不对
后面改成
uint32_t a;
a=x*33;
a=a*100;
a=a/1024;
这样计算结果就是对的,这是怎么回事呢?
作者:
admin
时间:
2016-6-17 19:27
8位单片机,数据宽度是16BIT,超过宽度的数据是会丢失的
作者:
lankii
时间:
2016-7-6 20:31
要强制类型转换,要不然被优化掉
uint32_t a;
a=(uint32_t)x*(3300);
a=a/(uint32_t)1024;
欢迎光临 Discuz! Board (http://qfv8.com/)
Powered by Discuz! X3