打印

求助:keil c51两个无符号整型变量相乘的积不正确

[复制链接]
2769|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
kin0001|  楼主 | 2010-5-20 09:48 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
定义三个全局变量
ulong inpower;
uint invol,inele;

inpower=invol*inele;
得到的inpower不正确,查看汇编代码,发现积高16位被清除了,不知跟编译器有没有关系,使用的是keil v900,以下为汇编代码,
请问要得到正确的值,该咋办

未命名.jpg (37.48 KB )

未命名.jpg

相关帖子

沙发
xjycug| | 2010-5-20 10:13 | 只看该作者
将inpower=invol*inele;
改为inpower=(ulong)invol*inele;

使用特权

评论回复
评分
参与人数 1威望 +2 收起 理由
原野之狼 + 2
板凳
kin0001|  楼主 | 2010-5-20 10:34 | 只看该作者
:victory:非常感谢2楼

使用特权

评论回复
地板
ayb_ice| | 2010-5-20 10:36 | 只看该作者
是使用不正确

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

23

主题

63

帖子

0

粉丝