jianhong_wu 发表于 2014-9-15 10:56:39

在单片机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:12

一个很小的细节问题,受教了
页: [1]
查看完整版本: 在单片机C语言中如何把带小数点的计算转换成不带小数点的计算?已解答。