您当前的位置:五五电子网电子知识单片机-工控设备51单片机51单片机浮点数运算原理 正文
51单片机浮点数运算原理

51单片机浮点数运算原理

点击数:7700 次   录入时间:03-04 12:00:35   整理:http://www.55dianzi.com   51单片机
  单片机一般浮点数均采用士MxC的形式来表示,其中M称为尾数。它一般取为小数0≤M<l,E为阶码,它为指数部分,它的基是C。C可以取各种数,对于十进制数,它一般取10,而对于二进制数,C-般取2,对于十进制数,可以很方便地把它换成十进制浮点数。对于微机系统来说,常用的浮点数均为C=2,在浮点数中,有一位专门用来表示数的符号,阶码E的位数取决于数值的表示范围,一般取一个字节,而尾数则根据计算所需的精度,取2~4字节。
  
  浮点数也有各种各样表示有符号数的方法,其中数的符号常和尾数放在一起,即把士M作为一个有符号的小数,它可以采用原码、补码等各种表示方法,而阶码可采用各种不同的长度,并且数的符号也可以放于各种不同的地方。所以浮点数有很多的表示方法。
  
  四字节浮点数表示法是微机中常用的一种表示方式。浮点数总长度是32位,其中阶码8位,尾数是24位。阶码和尾数均为2的补码形式。阶码的最大值位+127,最小值-128,这样四字节浮点数能表示的最大值近似于l×2(的127次方)=l70×l0(的38次方),能表示的最小值近似为0.5×2(的-128次方)=1.47×10(的-39次方),这时该范围内的数具有同样的精度。
  
  四字节的浮点数精度较高,接近7位十进制数,但是由于字节较多,运算速度较慢,往往不能满足实时控制和测量的需要,并且实际使用时所需的精度一般不要求这么高,三字节浮点数就满足了这个要求,精度较低,但运算速度较高。浮点数总长为24位,其中阶码为7位,数符在阶码所在字节的最高位,尾数为16位,这种表示法运算速度较快需要的存储容量较小,并且数的范围和精度能满足大多数应用场合的需要。下面的程序基本都采用这种表示方法。
  
  规格化浮点数,在实际应用中,需要有一个程序来完成把一个非规格化数变规格化数的操作。在进行规格化操作时,对原码表示的数,一般是先判断尾数的最高位数值位是0还是1。如果是0则把尾数左移l位,阶码减1再循环判断,如果是1,则结束操作。由于零无法规格化,一旦尾数为0,则把阶码置为最小值。如果在规格化中,阶码减1变成最小值时,不能再继续进行规格化操作,否则发生阶码下溢出,一般称之为左规格化操作。


本文关键字:单片机  51单片机单片机-工控设备 - 51单片机