历史上的今天
今天是:2025年03月06日(星期四)
2018年03月06日 | 单片机浮点数运算的源码设计
2018-03-06 来源:eefocus
单片机的一个浮点数一般在KeilC51中是以4字节形式存储的,格式严格遵循IEEE-754标准。在单片机二进制数据中,浮点数用两个部分来表示,基C为2,E为阶码,M为尾数,E的保存形式是一个0~255的8位值,指数的实际表示值是保存值减去127,范围在-127~+128的数,尾数是一个24位值,换算7个十进制数,最高位通常是1,符号位表示浮点数的正负。
现在看怎样显示一个浮点数,由于浮点数的尾数是24位,最高可以表达的整数值为16777215,用科学计数法表示时整数部分占据1位,小数部分就可以有6位,我们将浮点数的尾数放在长整形数据longint中保存,阶码可以在int型数据中保存。此处我们用C程序来实现显示一个浮点数的功能。
(1)浮点数显示子函数。






(2)显示十进制尾数和阶的子函数。

在大多数的单片机应用系统中都不能离开数值计算,最基本的数值运算为四则运算,单片机中的数都是以二进制形式表示的,二进制的算法有很多,其中最基本的是定点制和浮点制,以上介绍了浮点数在单片机中的表示方式和汇编子程序,浮点数比定点数加减法要困难,但是克服了定点数表示范围小的问题,总之定点数和浮点数各有各得的特点,读者可以在实际运用中加以优化运用。
下一篇:FSK调制程序的设计
史海拾趣
|
本帖最后由 paulhyde 于 2014-9-15 09:36 编辑 NEC芯片输出PWM信号已经解决了,用SPI模式.不过有点搞不懂为什么正转时CHnDCDIR输出的是高电平,设置反转时却输出低电平,和数据手册相反的.而且接上直流电机就连PWM信号都没了. 请高手指点一下,谢谢了 ...… 查看全部问答> |
|
审请LPC1114恩智浦Cortex开发板,用于成本敏感的低端金融设备控制系统开发 联系:tech1@fota.cn 办公电话:0571-87647777 转115 联系人:金工 [ 本帖最后由 haiqing05 于 2010-4-6 13:30 编辑 ]… 查看全部问答> |
|
本人一女生,本来是通信的,老师是搞的硬件,前半年我信誓旦旦的要搞硬件,现在内打击的不得了。现在就想着学学DSP好了,但听说现在用DSP搞开发不太好搞,而且适用面也不是很广,想想学arm吧,但要学习一个很复杂的炒作系统,真不知道该怎么走了, ...… 查看全部问答> |
|
想问一下Core OS\\Core OS Services\\USB Host Support下的内容已经Add to OS Desgin,但USB的键盘和鼠标还是没有用,并且开机时蜂鸣器长响,是什么原因? 另外,Device Drivers\\USB Function 和USB Host 之间的区别?… 查看全部问答> |
|
[100分!急!]在WinCE里用VC++.NET操作远程SQL Server2000问题 本人想在VS2005上用VC++.NET开发一个基于WinCE 5.0的操作远端的SQL Server2000的程序,怎么写啊. 1. 源代码和具体步骤? 2. 如何使用SQL CE 2,如何在WinCE 上装SQL CE 2? 3. WinCE 上操作远程SQLServer2000数据库非得装SQL CE吗? 4. 如何用V ...… 查看全部问答> |
|
LED怀表”这是一个DIY作品,作者觉得这可能是第一个LED怀表,来自Paul,其对祖父留下来的一个旧怀表进行改造,当然能用的也只有怀表的外壳。 怀表里面一共安装了133个LED,每一个都是手工焊接而成,LED可显示60秒、60分钟和12小时,另外还有一 ...… 查看全部问答> |
|
大家好,我目前正准备将UCOS 移植到 STM32F103 ,我不太会移植,我参考了网上很多资料,也包括Micrium 官方的针对STM32的UCOS2.86例程,本人想在Micrium 的例程上修改下。问题是有人说官方的程序有死机及OSCtxSw&nbs ...… 查看全部问答> |
|
请问STM8程序烧录时怎么加密?用ST_LINK+STVP,谢谢 请问STM8程序烧录时怎么加密?用ST_LINK+ST Visual Programmer ,没有找到,看PDF好像是通过配置寄存器?又好像一 ...… 查看全部问答> |




