当前位置: 代码迷 >> 单片机 >> C51如何求小数
  详细解决方案

C51如何求小数

热度:93   发布时间:2016-04-28 15:02:38.0
C51怎么求小数
本帖最后由 cyd411 于 2011-12-29 09:53:27 编辑
目标:求得小数位的值
简单一点说,现在有2个数相除,我想得到它的小数位怎么获得,用什么函数进行运算呢

两种情况,
情况1:  3除以10,这个好办,用除法余数 "%"就解决了 可以得到3
情况2:  20除以60,我想得到结果的小数部分,应该用什么函数,或者符号之类的获得呢?

注意 是在51单片机的时候,不知道怎么弄。
请大家指点一下,小弟新手


------解决方案--------------------
这要看你的小数精度了。核心就是放大。
现在假设是求小数点后N位(不做四舍五入)。先求余数,然后把余数放大10的N次方倍,再求商。
比如10/3后小数点后的一位: 先求余数,10%3=1. 余数放大10倍,1×10=10.再求商,10/3=3.即小数点后1位是3.
60%20=0, 0×10=0, 0/3=0.
  相关解决方案