标题: 小错误:两个整型变量的相除 [打印本页]

作者: wangyin    时间: 2014-7-28 00:05
标题: 小错误:两个整型变量的相除


昨天调程序时,犯了个错误!



让我又意识到我的基础太薄弱......



double vol = 0;

vol = code/4096*2.5;

code是个unsigned int型的变量,范围在0~4095之间。

当时这么想的:code/4095后再乘以2.5,最终会是个double型的值。



后来载程序后,一直显示vol是0.00,我还以为ADC12又出问题了...



然后,改程序,下载,不行,再改,再下,还是不行...



最后,用IAR的硬件仿真功能,仿真出来,code是有值的,再回过头,发现,shit!!!



后来改了程序:

double vol = 0;

vol = code/4096.0*2.5;



相信你应该看出来怎么了:

code/4096,两个整型变量相除,实质是取余,而code又是小于4096,所以结果一直都是0。



这个错误绊了我一个小时左右...很伤,很伤。







欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1