关于C51语法请教

[复制链接]
3013|9
 楼主| prince_fang 发表于 2009-11-18 08:43 | 显示全部楼层 |阅读模式
C51, se, ge, AN, AI
if(rpm<10000>999)     //转速在1000-9999之间;这样的检测语句可以吗?
  {
   qian=rpm/1000;
   bai=rpm%1000/100;
   shi=rpm%100/10;
   ge=rpm%10;
  }

  rpm=(rpm_sec/4)*60;   //还有这样的运算行不行得通?

恳请大侠们赐教??
与时俱进 发表于 2009-11-18 09:06 | 显示全部楼层
if 不行;
为什么不直接用  rpm=rpm_sec*15?
中间的算法有点土,让电脑重复做除法计算,运算量很大。
 楼主| prince_fang 发表于 2009-11-18 09:51 | 显示全部楼层
非常谢谢!是我糊涂了~~~
 楼主| prince_fang 发表于 2009-11-18 09:55 | 显示全部楼层
因这我要检测的数值范围是0-999-9999-65535,如果拆出来判断那运算量更大了,请问还有更好的方法吗
与时俱进 发表于 2009-11-18 14:12 | 显示全部楼层
把4位数 i 拆成BCD码是不是这样更好些?:
ge=i%10;
i/=10;
shi=i%10;
i/=10;
bai=i%10;
qian=i/10;
hujiangdong 发表于 2009-11-18 15:45 | 显示全部楼层
if里面的判断语句不行

rpm=(rpm_sec/4)*60; 是可以的
hujiangdong 发表于 2009-11-18 15:46 | 显示全部楼层
4楼: 因这我要检测的数值范围是0-999-9999-65535,如果拆出来判断那运算量更大了,请问还有更好的方法吗
用if elseif 肯定行
 楼主| prince_fang 发表于 2009-11-20 11:12 | 显示全部楼层
谢谢~··用if elseif 就OK了
znmcu 发表于 2009-12-17 19:45 | 显示全部楼层
if(rpm<10000 && rpm>999)   
{
........
}
iammercy 发表于 2009-12-18 09:08 | 显示全部楼层
應把
if(rpm<10000>999)  
改為
if( (rpm>999) && (rpm<10000) )
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

7

帖子

1

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