您好、欢迎来到现金彩票网!
当前位置:至尊彩票 > 浮点数 >

适用于高精度单片机小数计算的方法介绍

发布时间:2019-05-08 20:05 来源:未知 编辑:admin

  的BCD增量算式,线性化处理等过程中,都会遇到一个共同的问题,那就是小数的运算。在

  浮点数结构有其自身的优点,其能够以固定的字节长度保持相对精度不变,用较少的字节表示很大的数的范围,便于存储和运算,在处理的数据范围较大和要求精度较高时,采用浮点数。

  在数据很大或很小时,采用科学计数避免了在有效数字前加0来确定小数点的位置,突出了数据的有效数字的位数,简化了数据的表示。可以认为科学计数法就是十进制数的浮点数表示方法。

  在二进制中,通过定义相应字节或位来表示这四部分,就形成了二进制浮点数。二进制浮点数可以有多种不同的表示方法,下面是一种常见的三字节浮点数的格式:

  其中尾数占16位,阶码占6位,阶符占1位,数符占1位。阶码通常用补码来表示。

  在这种表示方法中,小数点的实际位置要由阶码来确定,而阶码又是可变的,因此称为浮点数。

  其所表示的数的绝对值范围=(5.42×10-20~9.22×1018),由此可以看到,比三字节定点数表示的数的范围大得多。

  虽然这几种表示其数值是相同的,但其尾数的有效数字的位数不同,分别为16位、15位和14位。在运算过程中,为了最大限度地保持运算精度,应尽量增加尾数的有效位数。这就需要对浮点数进行规格化处理。

  在只考虑用二进制原码表示尾数时,尾数的最高位为l,则该浮点数为规格化浮点数。在规格化浮点数中,用尾数为0和最小阶码表示0,三字节规格化浮点数的0表示为410000H。

  (果尾数不为0,判断层数的最高位是否为1,如果不为1,尾数左移,阶码减1。)

  再判断层数的最高位是否为1,如果不为1,继续进行规格化操作,如果为1,则规格化结束。

  通过以上的文章可以看到,浮点数结构有着较为明显的应用场景。在需要处理的数据范围较大或者对于数据的请求范围较高时,适合使用单片机浮点数来进行运算。浮点数能够利用自身固定的字节长度来保持相对精度。设计者可根据自己不同的需要来进行选择,希望大家在阅读过本文之后能够有所收获。

http://steveouch.com/fudianshu/223.html
锟斤拷锟斤拷锟斤拷QQ微锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷微锟斤拷
关于我们|联系我们|版权声明|网站地图|
Copyright © 2002-2019 现金彩票 版权所有