电子发烧友App

硬声App

0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看威廉希尔官方网站 视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示
创作
电子发烧友网>电子资料下载>嵌入式开发>你要用好高精度单片机,那就不得不知道怎么使用浮点数!资料下载

你要用好高精度单片机,那就不得不知道怎么使用浮点数!资料下载

2021-04-16 | pdf | 74.36KB | 次下载 | 2积分

资料介绍

单片机的BCD增量算式、线性化处理等过程中,都会遇到一个共同的问题,那就是小数的运算。在单片机当中,对于小数的表现方法一般只有两种,一种是浮点数,一种是定点数。本文就将对单片机中的浮点数进行概述并对其汇编程序设计进行介绍。 浮点数结构有其自身的优点,其能够以固定的字节长度保持相对精度不变,用较少的字节表示很大的数的范围,便于存储和运算,在处理的数据范围较大和要求精度较高时,采用浮点数。 浮点数概念 常用科学计数法来表示一个十进制数如: l234.75=1.23475E3=1.23475×103(10的3次方) 在数据很大或很小时,采用科学计数法避免了在有效数字前加0来确定小数点的位置,突出了数据的有效数字的位数,简化了数据的表示,可以认为科学计数法就是十进制数的浮点数表示方法。 在二进制中,也可以用类似的方法来表示一个数,如: 1234.75=10011010010.11(二进制)=0.1001101001011×211(2的11次方) 一般表达式为: N=S×2p 在这种表示方法中,数值由4个部分组成,即尾数S及符号,阶码P及符号。 在二进制中,通过定义相应字节或位来表示这4部分,就形成了二进制浮点数。二进制浮点数可以有多种不同的表示方法,下面是一种常见的三字节浮点数的格式: 其中尾数占16位,阶码占6位,阶符占1位,数符占1位。阶码通常用补码来表示。 在这种表示方法中,小数点的实际位置要由阶码来确定,而阶码又是可变的,因此称为浮点数。 1234.75用这种格式的浮点数表示就是: 000010111001101001011000 用十六进制表示为: 1234.75=0B9A58H -1234.75=4B9A58H 0.171875=043B00H -0.171875=443B00H 三字节浮点数所能表示的最大值为: 1×263=9.22×1018 能表示的最小数的绝对值为: 0.5×2-63=5.42×10-20 其所表示的数的绝对值范围=(5.42×10-20~9.22×1018),由此可以看到,比三字节定点数表示的数的范围大得多。 按同样方法可以定义一个4字节的浮点数,以满足更高精度的需要。 规格化浮点数 同一个数用浮点数表示可以是不同的,如: 1234.75=0B9A58H=0C4D2CH=0D2696H 虽然这几种表示其数值是相同的,但其尾数的有效数字的位数不同,分别为16位、15位和14位。在运算过程中,为了最大限度地保持运算精度,应尽量增加尾数的有效位数,这就需要对浮点数进行规格化处理。 在只考虑用二进制原码表示尾数时,尾数的最高位为l,则该浮点数为规格化浮点数。在规格化浮点数中,用尾数为0和最小阶码表示0,三字节规格化浮点数的0表示为410000H。 浮点数在运算之前和运算之后都要进行规格化,规格化过程包括以下步骤: 首先判断尾数是否为0,如果为0,规格化结果为410000H;(如果尾数不为0,判断层数的最高位是否为1,如果不为1,尾数左移,阶码减1。) 再判断层数的最高位是否为1,如果不为1,继续进行规格化操作,如果为1,则规格化结束。 通过以上的文章可以看到,浮点数结构有着较为明显的应用场景。在需要处理的数据范围较大或者对于数据的请求范围较高时,适合使用单片机浮点数来进行运算,浮点数能够利用自身固定的字节长度来保持相对精度。设计者可根据自己不同的需要来进行选择,希望大家在阅读过本文之后能够有所收获。 文章来源:网络(版权归原著作者所有) (mbbeetchina)
下载该资料的人也在下载 下载该资料的人还在阅读
更多 >

评论

查看更多

下载排行

本周

  1. 1TC358743XBG评估板参考手册
  2. 1.36 MB  |  330次下载  |  免费
  3. 2开关电源基础知识
  4. 5.73 MB  |  6次下载  |  免费
  5. 3100W短波放大电路图
  6. 0.05 MB  |  4次下载  |  3 积分
  7. 4嵌入式linux-聊天程序设计
  8. 0.60 MB  |  3次下载  |  免费
  9. 5基于FPGA的光纤通信系统的设计与实现
  10. 0.61 MB  |  2次下载  |  免费
  11. 6基于FPGA的C8051F单片机开发板设计
  12. 0.70 MB  |  2次下载  |  免费
  13. 751单片机窗帘控制器仿真程序
  14. 1.93 MB  |  2次下载  |  免费
  15. 8基于51单片机的RGB调色灯程序仿真
  16. 0.86 MB  |  2次下载  |  免费

本月

  1. 1OrCAD10.5下载OrCAD10.5中文版软件
  2. 0.00 MB  |  234315次下载  |  免费
  3. 2555集成电路应用800例(新编版)
  4. 0.00 MB  |  33564次下载  |  免费
  5. 3接口电路图大全
  6. 未知  |  30323次下载  |  免费
  7. 4开关电源设计实例指南
  8. 未知  |  21548次下载  |  免费
  9. 5电气工程师手册免费下载(新编第二版pdf电子书)
  10. 0.00 MB  |  15349次下载  |  免费
  11. 6数字电路基础pdf(下载)
  12. 未知  |  13750次下载  |  免费
  13. 7电子制作实例集锦 下载
  14. 未知  |  8113次下载  |  免费
  15. 8《LED驱动电路设计》 温德尔著
  16. 0.00 MB  |  6653次下载  |  免费

总榜

  1. 1matlab软件下载入口
  2. 未知  |  935054次下载  |  免费
  3. 2protel99se软件下载(可英文版转中文版)
  4. 78.1 MB  |  537796次下载  |  免费
  5. 3MATLAB 7.1 下载 (含软件介绍)
  6. 未知  |  420026次下载  |  免费
  7. 4OrCAD10.5下载OrCAD10.5中文版软件
  8. 0.00 MB  |  234315次下载  |  免费
  9. 5Altium DXP2002下载入口
  10. 未知  |  233046次下载  |  免费
  11. 6电路仿真软件multisim 10.0免费下载
  12. 340992  |  191185次下载  |  免费
  13. 7十天学会AVR单片机与C语言视频教程 下载
  14. 158M  |  183278次下载  |  免费
  15. 8proe5.0野火版下载(中文版免费下载)
  16. 未知  |  138040次下载  |  免费