独闷闷网

标题: 在单片机C语言中如何把带小数点的计算转换成不带小数点的计算?已解答。 [打印本页]

作者: jianhong_wu    时间: 2014-9-15 10:56
标题: 在单片机C语言中如何把带小数点的计算转换成不带小数点的计算?已解答。
本帖最后由 jianhong_wu 于 2014-12-4 18:44 编辑

鸿哥解答:
在单片机的C语言中,我建议大家以后的计算尽量不要用小数点,因为你不知道编译器它内部是怎么处理小数点的。
unsigned long a;
比如a=a*1.6;
我一般是这样改:
a=a*16/10;


注意,这样转换的时候,参与运算的变量尽量用long类型,因为long类型的数据长度最长。如果运算超过了这个long类型的长度,请自己额外编写大数据运算算法,具体请参考我的连载文章《从业将近十年!手把手教你单片机程序框架》第62,63,64,65节。http://www.dumenmen.com/forum.php?mod=viewthread&tid=8

作者: 黑夜之狼    时间: 2014-9-15 11:21
一个很小的细节问题,受教了




欢迎光临 独闷闷网 (http://www.dumenmen.com/) Powered by Discuz! X3.2