无符号长整形数编译错误的问题

[复制链接]
2814|2
 楼主| chen3bing 发表于 2012-7-10 15:13 | 显示全部楼层 |阅读模式

我定义了几个无符号长整型数变量,一个无符号长整型常量。
#define     WAN  10000UL
unsigned long i,i2;
unsigned long i1,i3;
unsigned long zh,fu;

。。。。。。。。。。。。。。。。。。。。
程序里有一段代码:
if((i1>0)&&(i3==0))
   {
    zh=i1*WAN;
    zh=zh/(cnt-count1);
    qian=0;
    bai=(uchar)(zh/100UL);
    shi=(uchar)((zh%100UL)/10UL);
    ge=(uchar)(zh%10UL);
    i1=0;
   }
   else if((i3>0)&&(i1==0))
   {
    fu=i3*WAN;
    fu=fu/(cnt-count1);
    qian=1;
    bai=(uchar)(fu/100UL);
    shi=(uchar)((fu%100UL)/10UL);
    ge=(uchar)(fu%10UL);
    i3=0;
   }

编译出错。
Error[000] E:\CCB\digital encoder\speed\speed.c 78 : Can't generate code for this expressionHalting build on first failure as requested.
把那段代码注释掉就编译正常。
请问高手,如何解决?谢谢!


我定义了几个无符号长整型数变量,一个无符号长整型常量。
#define     WAN  10000UL
unsigned long i,i2;
unsigned long i1,i3;
unsigned long zh,fu;

。。。。。。。。。。。。。。。。。。。。
程序里有一段代码:
if((i1>0)&&(i3==0))
   {
    zh=i1*WAN;
    zh=zh/(cnt-count1);
    qian=0;
    bai=(uchar)(zh/100UL);
    shi=(uchar)((zh%100UL)/10UL);
    ge=(uchar)(zh%10UL);
    i1=0;
   }
   else if((i3>0)&&(i1==0))
   {
    fu=i3*WAN;
    fu=fu/(cnt-count1);
    qian=1;
    bai=(uchar)(fu/100UL);
    shi=(uchar)((fu%100UL)/10UL);
    ge=(uchar)(fu%10UL);
    i3=0;
   }

编译出错。
Error[000] E:\CCB\digital encoder\speed\speed.c 78 : Can't generate code for this expressionHalting build on first failure as requested.
把那段代码注释掉就编译正常。
请问高手,如何解决?谢谢!

 楼主| chen3bing 发表于 2012-7-10 15:33 | 显示全部楼层
解决了。
yewuyi 发表于 2012-7-19 13:59 | 显示全部楼层
picc中好像应该这么写:unsigned long int
您需要登录后才可以回帖 登录 | 注册

本版积分规则

439

主题

2540

帖子

2

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