标题:
单片机C语言程序如何保存运算过程中的小数位
[打印本页]
作者:
wangwing
时间:
2019-5-9 15:13
标题:
单片机C语言程序如何保存运算过程中的小数位
uint A;
uchar B,X;
A=2861;B=967;
X=A/B; //结果为2.959,现在我要保存并显示这个结果为2.96,用下面的处理方法同,为什么不可以?
A=2861;
B=967;
X=(A/B*1000+5)/10;
作者:
天风情
时间:
2019-5-9 17:32
你这个没有报错吗?B的值超出了uchar的范围,而且结果X的数据类型是uchar,怎么会得到小数呢
作者:
king_zxt
时间:
2019-5-9 17:53
X应为浮点类型,float X=((float)A/B*1000+5)/10
作者:
郑汉松
时间:
2019-5-10 00:48
先打好c语言基础吧,uchar型数据最大只能255,想保留小数点必须用double或float型数据,还有两个整形数据相除会自动舍去小数
作者:
stephanie_han
时间:
2019-5-10 16:26
/得到的结果应该是商的整数位吧 想要得到预期的结果应该要改变X的数据类型 或者你加一个强制类型转换 然后想四舍五入的话可以在末位加上0.005再用符号控制取2位小数
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1