ccs中的数据类型强制转换问题

在LED显示代码中,为显示浮点型数据的整数和小数部分,使用了long型数据以避免溢出。在将浮点型变量ttime转换为long型并进行除法运算时遇到编译错误。通过在转换和乘法操作中使用(long)进行强制类型转换,问题得到解决。这一解决方案来自于一位QQ群成员的无私帮助。
摘要由CSDN通过智能技术生成

          下面是我的一段LED显示的代码,要求为显示数码管共8个,显示浮点型数据前五个是整数部分,后三个显示小数部分,因为考虑是8个数码管,用int型数据有溢出,故选用long型数据,程序开始为:

 

void LED(float ttime)
{
long int t,p;
void Led_init(void);
delay10ms(10);
ttime=ttime*1000;               // line 241

t=ttime/10000000;
p=ttime%10000000;             //line 244

Write7279(DECODE1,t);
t=p/1000000;
p=p%1000000;
Write7279(DECODE1+1,t);
delay10ms(10);
t=p/100000;
p=p%100000;
Write7279(DECODE1+2,t);
delay10ms(10);
t=p/10000;
p=p%10000;
Write7279(DECODE1+3,t);
delay10ms(10);
t=p/1000;
p=p%1000;
Write7279(DECODE1+4,t|0x80);
delay10ms(10);
t=p/100;
p=p%100;
Write7279(DECODE1+5,t);
delay10ms(10);
t=p/10;
p=p%10;
Write7279(DECODE1+6,t);
delay10ms(10

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值