原创 (程序)关于小数用整数来表示的小程序

2006-11-11 02:01 11548 11 10 分类: 软件与OS

从综合电子论坛看到别人发了一个帖子,在弹片机内,不用浮点数计算的话,如何让整数表示小数。


这是byd318的网友发的:


Question: 在8位单片机中不使用浮点数的方法,如何将一个字节的数据得到浮点数的BCD码
Instruction:
        比如我们做一个AD0809的AD采集(8位),测试电压在5V时得到的是数字量是255,如果得到的数字量是97,则对应计算公式: 5*97/255=1.902;或许你可以写为:数字量/51; 我们都知道在C语言中,整数除以整数肯定只有得到整数;就是说,如何在整型中得到所需要的BCD码(1,9,0,2);有人提出定义浮点数来处理,当然这样没问题:今天我们提出的只用整型来处理:
Intent:
     看看谁能提出更好的实际可用的解决办法;挑战自我!帮助他人!


于是我思考了一会,发现其实可以这样做:


unsigend char *p,i;
unsigned int j,k;
for(i = 0; i < 4;i++)
{
  *(p + i) = j/k;
  j = j%k;
  if(j > 0)
  {
   j = j *10;
  }
}


你看看能达到要求么,i是控制小数位的个数,如果要保留1位小数,i就应该<2,2位小数,i<4;3位小数,i<5;以此类推;k是除数,j是被除数;*p里面放的就是要的结果


这样做有个好处就是节省空间,但是考虑到转换的速度问题,如果在对数据处理速度不是很高的情况下,完全可以这样做。相反,就要像别的办法了。


 

文章评论2条评论)

登录后参与讨论

用户377235 2013-3-18 13:15

top

用户78630 2007-1-25 19:57

节哀~保重~   语言的安慰也许不容易让你心里好受,但希望你能够早日从悲伤中走出,毕竟人死不能复生!~你的博客不错,偶支持你!`

用户1053025 2007-1-25 10:48

等你回来。。。

用户1021297 2007-1-25 10:16

人生总是这样的。。。

用户1175252 2007-1-24 23:42

节哀~保重~

用户19364 2007-1-24 22:25

人生的阴晴难料!!!我也不知道说点啥安慰你的话,总之 别太难过了, 刚看了你的博客 的确不错的!!加油呀!!

 

                                。。。。。。。。冰槟榔

用户19364 2007-1-24 22:21

人生的阴晴难料!!我也不知道说点啥安稳你的话。总之别太难过了!!!

用户1053025 2006-11-20 15:34

good

相关推荐阅读
hendiao 2011-04-11 17:21
基于STM32的智能汽车前灯系统计划
STM32项目/学习计划表项目名称 请点击以下链接更新您的个人资料(包括“职位,部门,单位名称,地址,邮编,电子邮箱,电话”),以便我们能及时联系您并快速发送开发套件。http://space.edn...
hendiao 2011-04-11 17:21
基于STM32的GPS公交报站系统
STM32项目/学习计划表项目名称 请点击以下链接更新您的个人资料(包括“职位,部门,单位名称,地址,邮编,电子邮箱,电话”),以便我们能及时联系您并快速发送开发套件。http://space.edn...
hendiao 2011-04-11 17:21
基于STM32的GPRS/GSM抄表系统
STM32项目/学习计划表项目名称 请点击以下链接更新您的个人资料(包括“职位,部门,单位名称,地址,邮编,电子邮箱,电话”),以便我们能及时联系您并快速发送开发套件。http://space.edn...
hendiao 2011-04-11 17:20
建立在GSM/GPRS的家庭智能报警和控制系统的初步想法
STM32项目/学习计划表项目名称 请点击以下链接更新您的个人资料(包括“职位,部门,单位名称,地址,邮编,电子邮箱,电话”),以便我们能及时联系您并快速发送开发套件。http://space.edn...
hendiao 2008-11-27 11:42
用三极管实现3V与5V混合系统中逻辑器接口问题(原创)
3V与5V混合系统中逻辑器接口问题在电路设计当中,往往会遇到电压匹配问题,因为电路中往往不只只有一个电平信号,大部分包括3.3V,5V或者12V,但是有时候需要用到3.3V和5V的通信或者对联,这其中...
hendiao 2008-11-27 11:41
adsl modem和PC通过RS232的接口
这是一个朋友给我看得电路这个电路时modem和PC的连接图在PC端,用到了RS232的5个信号,modem端则只用到了RXD、TXD和GND。我们来分析一下modem的TXD到PC端的RXD这个电路中...
我要评论
2
11
关闭 站长推荐上一条 /2 下一条