找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2993|回复: 0
打印 上一主题 下一主题
收起左侧

小错误:两个整型变量的相除

[复制链接]
跳转到指定楼层
楼主
ID:51024 发表于 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。



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


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表