C51单片机中如何把 一个float 的变量取出它的整数存入一个unsingde char变量中?
2个回答
展开全部
比如:
float a;
unsigned char b;
b=(unsigned char)(int)a;
有些编译器float直接转换成unsigned char 会有警告,所以先转换成int型,再转成unsigned char型。
float a;
unsigned char b;
b=(unsigned char)(int)a;
有些编译器float直接转换成unsigned char 会有警告,所以先转换成int型,再转成unsigned char型。
追问
还是不行,pressH的计算结果应该是97多的,但是只有7.33,所以还是没对
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用c语言的强制类型转换就可以吧!
追问
不行啊,还是取不出来
你帮我参考一下这个程序
float vi,press,IIC_data;
unsigned char pressH,pressL,adH,adL;
vi=2*IIC_data*4.77/65536;
press=10.034+18.5185*vi;
pressH=press;
pressL=(press-pressH)*100;
pressH的值不对(注:vi=4.66)
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询