MCS-51单片机浮点子程序库-IEEE-754_2型实现
需积分: 15 104 浏览量
更新于2024-08-01
收藏 287KB DOC 举报
"华信单片机——51四字节浮点库"
本文档主要介绍了针对MCS-51单片机的浮点数处理子程序库,该库是基于IEEE-754标准的一个变体,被称为IEEE-754_2型。这个浮点库特别适用于那些需要进行浮点运算但硬件不直接支持浮点计算的51系列单片机。华信单片机工作室的卢先生整理并验证了这个库,相关的详细信息可以在其个人网站http://www.hx51.com/上找到。
在51单片机的浮点库中,浮点数是以四字节的形式存储的,这包括一个符号位、一个阶码和一个24位的尾数。这种格式与标准的IEEE-754浮点数格式不同,它采用了1字节移码表示阶码,范围从80H到0FFH,对应于0到127的偏移值,对于负数,阶码用01H到7FH表示。由于尾数只存储了23位,但隐含了最高位为1,因此实际尾数精度为24位。
浮点数的计算涉及到阶码的处理。对于十进制整数和纯小数,阶码eb的计算方法有所不同:
1. 对于十进制整数(可能带有小数部分):
阶码eb = 指数P + 80H
其中,指数P = int(Z) + 1,Z = ln(A) / ln(2)
2. 对于纯小数:
阶码eb = 指数P + 80H
其中,指数P = int(Z),Z = ln(A) / ln(2)
这个库能表示的数据范围是从5.8×10^(-39)到1.7×10^38,如果数值超出这个范围,将发生溢出。
此外,库中还涉及到了阶符和数符的概念,它们分别用于表示阶的正负和数值的正负。阶符用00H表示正,0FFH表示负;数符同样用00H表示正,0FFH表示负。在浮点BCD码中,阶符、数符和阶的定义也有特定的规则,但具体的实现细节可能需要参考《浮点数转换器》这篇文章或《MCS-51/196单片机浮点数程序和实用程序》这本书以获取更详尽的信息。
华信单片机的51四字节浮点库提供了一种在51单片机上实现浮点运算的方法,通过定制的浮点数格式和子程序库,使得单片机能够在有限的内存和处理能力下处理浮点计算任务。这对于需要进行浮点运算的嵌入式应用是非常有价值的。
2036 浏览量
136 浏览量
763 浏览量
2021-09-30 上传
2021-10-14 上传
2012-05-02 上传
boy_scarecrow
- 粉丝: 0
- 资源: 17
最新资源
- 吉菲探索者
- 保险行业培训资料:地县级地区中端福寿连连销售逻辑
- frontend-react
- IEC101-103-104规约分析程序.rar
- 保险行业培训资料:从需求的角度看产品
- rms-list-gen
- DIU:乌苏里奥大学接口处
- tinyMCE:向 WordPress TinyMCE 添加自定义按钮
- 创维电视酷开系统14U系列8S26刷机应用工具包
- hex-to-rgb:将彩色十六进制值转换为rgb
- my-gridsome-app
- nexus-3.20.1-01-win64.rar
- nwis:对 nw.js GUI API 的 IntelliSense 支持
- materiaFramework:项目构建器,基于html POST请求
- IM Café-开源
- conquer_the_world:【打天下篇】工作知识纪要