2677|7

333

帖子

0

TA的资源

一粒金砂(高级)

楼主
 

C语言编程中数字转化为字符出现误差 [复制链接]


我上面这段程序中,把Curr_DO寄存器中的数值转化为字符送到液晶模块显示,现在我Curr_DO监测到值为1930,照例说转化为字符为'1' '9' '.' '3' '0'(我中间人为加了一个小数点),但是程序转化的结果却是'1' 1' '.' '5' '8',这到底是为什么?

最新回复

多写写练练会好的   详情 回复 发表于 2014-8-12 21:16
 
点赞 关注

回复
举报

105

帖子

0

TA的资源

一粒金砂(中级)

沙发
 
在ptrl[1]语句打中断,看看运行到这一步的时候,ti是多少。另外ti是什么型?int么?别跟我说是char型啊

点评

你真是神人啊!我都没截出来t1的型号你就知道问题所在了!我t1还真是char型,后来改为uint就正常了。照理说t1为char的话类型不对怎么ptr[]还能得出数值啊?  详情 回复 发表于 2014-8-12 21:04
 
 

回复

503

帖子

1

TA的资源

一粒金砂(高级)

板凳
 
t1是不是char型的?单步跟踪t1看看

ptrl[0]=Curr_DO/1000+'0';
t1=Curr_DO%1000;
ptrl[1]=t1/100+'0';
t1%=100;

ptrl[2]='.';

ptrl[3]=t1/10+'0';
t1%=10;
ptrl[4]=t1+'0';

点评

我还真是char型的,改为uint就正常了,你们真是一眼就能看出来,我都查了一整天了,为什么我之前错误的char型也可以让ptr[]得到差不多的数值啊?  详情 回复 发表于 2014-8-12 21:06
 
 
 

回复

333

帖子

0

TA的资源

一粒金砂(高级)

4
 
cer1991 发表于 2014-8-12 19:59
在ptrl[1]语句打中断,看看运行到这一步的时候,ti是多少。另外ti是什么型?int么?别跟我说是char型啊

你真是神人啊!我都没截出来t1的型号你就知道问题所在了!我t1还真是char型,后来改为uint就正常了。照理说t1为char的话类型不对怎么ptr[]还能得出数值啊?
 
 
 

回复

333

帖子

0

TA的资源

一粒金砂(高级)

5
 
曾经in 发表于 2014-8-12 20:22
t1是不是char型的?单步跟踪t1看看

ptrl[0]=Curr_DO/1000+'0';

我还真是char型的,改为uint就正常了,你们真是一眼就能看出来,我都查了一整天了,为什么我之前错误的char型也可以让ptr[]得到差不多的数值啊?

点评

c语言里不同数据类型自动转换,溢出就会出错  详情 回复 发表于 2014-8-12 21:14
 
 
 

回复

503

帖子

1

TA的资源

一粒金砂(高级)

6
 
本帖最后由 曾经in 于 2014-8-12 21:15 编辑
面纱如雾 发表于 2014-8-12 21:06
我还真是char型的,改为uint就正常了,你们真是一眼就能看出来,我都查了一整天了,为什么我之前错误的ch ...

c语言里不同数据类型自动转换,溢出就会出错
LZ基础还不够扎实

点评

多写写练练会好的  详情 回复 发表于 2014-8-12 21:16
 
 
 

回复

503

帖子

1

TA的资源

一粒金砂(高级)

7
 
曾经in 发表于 2014-8-12 21:14
c语言里不同数据类型自动转换,溢出就会出错
LZ基础还不够扎实

多写写练练会好的

点评

现在还在学习阶段,在你们帮助下不断进步  详情 回复 发表于 2014-8-13 14:39
 
 
 

回复

333

帖子

0

TA的资源

一粒金砂(高级)

8
 
曾经in 发表于 2014-8-12 21:16
多写写练练会好的

现在还在学习阶段,在你们帮助下不断进步
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/8 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表