在单片机的BCD增量算式、线性化处理等过程中,都会遇到一个共同的问题,那就是小数的运算。在单片机当中,对于小数的表现方法一般只有两种,一种是浮点数,一种是定点数。本文就将对单片机中的浮点数进行概述并对其汇编程序设计进行介绍。
浮点数结构有其自身的优点,其能够以固定的字节长度保持相对精度不变,用较少的字节表示很大的数的范围,便于存储和运算,在处理的数据范围较大和要求精度较高时,采用浮点数。
<strong>浮点数概念</strong>
常用科学计数法来表示一个十进制数如:
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及符号。