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

[复制链接]
3566|3
 楼主| kin0001 发表于 2010-5-20 09:48 | 显示全部楼层 |阅读模式
定义三个全局变量
ulong inpower;
uint invol,inele;

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

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
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

粉丝
快速回复 在线客服 返回列表 返回顶部