`
anna_zr
  • 浏览: 196390 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

IEEE754标准在表示浮点数

 
阅读更多

主要讲述是的IEEE标准的二进制浮点数表示:

IEEE754标准在表示浮点数时,每个浮点数均由三部分组成:符号位S,指数部分E和尾数部分M。

我们知道10进制数的科学计数法如A= -3.5×105

这里最前面有一个负号,3.5是尾数,两个有效数字,后面以10为基数的指数为5。
我们可以将它表示为 -3.5E5

同样,二进制数也可以用科学计数法规格化表示,比如5这个数,如果用二进制表示的话,整型为101,如果用科学计数法则可以表示为 1.25×24 ,这里用的是十进制,将尾数换成二进制就是1.01(就是101向前移两位小数点,和十进制完全相同),后面的指数4换成二进制则是10,那我们将其用二进制的科学计数法就可以写成1.01E10。

当我们依照这种计数法给一个数字确定其精度(有效位)后,就可以用一定长度的1和0的位串来表示一个实数了。

浮点数一般采用以下四种基本格式:

(1)单精度格式(32位):除去符号位1位后,E占8位,M占23位。

(2)扩展单精度格式:E>=11位,M31位。

(3)双精度格式:(64位);E=11位,M=52位。

(4)扩展双精度格式:E>=15位,M>63位。

我们最重要的是掌握单精度格式的表示法。在IEEE754标准中,约定小数点左边隐含有一位,通常这位数就是1,这样实际上使尾数的有效位数为24位,即尾数为1.M。指数的值在这里称为阶码,为了表示指数的正负,所以阶码部分采用移码表示,移码值为127,阶码值即从1到254变为-126至+127,在IEEE754中所有的数字位都得到了使用,明确地表示了无穷大和0,并且还引进了"非规格化数",使得绝对值较小的数得到更准确表示。请看下表:

S(1位)    E(8位)        M(23位)    N(32位) 
符            0                0           (-1)S·2E-127·(1.M) 为规格化数                                    
               0             不等于0     (-1)S·2-126·(0.M) 为非规格化数
号       1到254之间     不等于0    (-1)S·2E-127·(1.M) 为规格化数
              255            不等于0      NaN(非数值)
位           255                0           无穷大 

其中红色字0、1表示隐含位,注意当数字N为非规格化数或是0时,隐含位是0。

记住了上面的表格就能算出所有IEEE标准的单精度二进制浮点数了,我们重点要会计算规格化数字的双向转换,并且理解二进制浮点数表示法的思想。

转自:http://www.yuanma.org/data/2007/0721/article_2754.htm

一看到这种就头大。。。贴过来方便查找
分享到:
评论

相关推荐

    IEEE754浮点数转换器(C#实现)

    学习计算机组成原理时实现的IEEE754标准的浮点数的机器数转换器,只要填入十进制浮点数值,便可以求出单精度的IEEE754标准的机器数表示方法,反之,给出IEEE754的机器数,可以求出其对应的十进制浮点数值

    IEEE754浮点数乘法设计

    IEEE754浮点数乘法设计,针对IEEE754标准,使用C语言对IEEE754浮点数表示和乘法计算过程进行了还原,编译器和IDE分别为GC++和DEV c++。

    解读IEEE标准754_浮点数的表示.docx

    解读IEEE标准754_浮点数的表示.docx

    解读IEEE标准754_浮点数的表示.pdf

    解读IEEE标准754_浮点数的表示.pdf

    C程序中用union实现浮点数与IEEE格式转换

    例如,浮点数50.0,在通信中传送的是它的IEEE-754格式,即4字节的十六进制424800H.因此,单片机的C程序,在发送或接收外围设各的参数值时,需要解决如何实现浮点数与IEEE格式转换的问题。 2.IEEE浮点数的格式 在...

    符合IEEE754标准的十六进制数的浮点数转换程序

    浮点数用十六进制表示和十进制表示的相互转换

    IEEE754浮点数格式详解

    IEEE754浮点数格式详解,帮我们了解计算机中浮点数的表示

    IEEE 745标准的32位二进制浮点数与十进制浮点数转换代码C#

    本代码实现了十进制浮点数与IEEE745标准的32位二进制浮点数的互相转换,二进制浮点数有十六进制和二进制两者表示形式,

    IEEE-754双精度数值至字符转换

    这个标准定义了表示浮点数的格式(包括负零-0)与反常值(denormal number)),一些特殊数值(无穷与非数值(NaN)),以及这些数值的“浮点数运算符”;它也指明了四种数值舍入规则和五种例外状况(包括例外发生的...

    labview IEEE-754单精度数值至字符转换

    这个标准定义了表示浮点数的格式(包括负零-0)与反常值(denormal number)),一些特殊数值(无穷与非数值(NaN)),以及这些数值的“浮点数运算符”;它也指明了四种数值舍入规则和五种例外状况(包括例外发生的...

    浮点数转换:在十进制和 IEEE 754 二进制表示之间转换浮点数-matlab开发

    该包旨在根据 IEEE 754 标准将浮点数从十进制转换为二进制格式。 当在 MATLAB 精度限制下执行计算或当对二进制字符串感兴趣时,这很有用,例如在遗传算法中。 该包由以下四个脚本组成。 float2bin:将十进制浮点数...

    基于IEEE754标准的浮点乘法器

    本设计是基于fpga的浮点乘法器设计,两个浮点数用ieee754标准表示,程序采用的verilog语言

    10进制浮点数和16进制之间转换的程序

    符合IEEE-754标准的单精度浮点形数据,C51里用4字节存储一个浮点数,如用0x3F000000表示小数0.5;0xBDCCCCCD表示小数-0.1。一般我们还是习惯用十进制来表示容易看。但有的时候我们需要知道一个十进制的小数保存到...

    2019-最新版 I E E E 754.pdf

    这个标准定义了表示浮点数的格式(包括负零-0)与反常值(denormal number)),一些特殊数值(无穷(Inf)与非数值(NaN)),以及这些数值的“浮点数运算符”;它也指明了四种数值舍入规则和五种例外状况(包括...

    IEEE 754转换程序

     为便于软件的移植,浮点数的表示格式应该有统一标准(定义)。1985年IEEE(Institute of Electrical and Electronics Engineers)提出了IEEE754标准。该标准规定基数为2,阶码E用移码表示,尾数M用原码表示,根据...

    大工19春《计算机组成原理》在线作业2【答案】.doc

    前者可表示的数的范围小但精度高 正确答案:B 根据IEEE754国际标准,长实数浮点数共64位,其中()占11位。 A.阶码 B.尾数 C.符号位 D.以上都不是 正确答案:A 在浮点运算器中,阶码可实现加、减、乘、除四种运算。 T.对 F....

    JS 能表示的最大数值及JS Number类型数字位数及IEEE754标准1

    大整数的精度丢失和浮点数本质上是一样的,尾数位最大是 52 位,因此 JS 中能精准表示的最大整数是 Math.pow(2, 53),十进制即大于 900719

    关于浮点数的存储格式的问题

    电子电气工程师协会)在I985年制定的IEEE 754(IEEE Standard for Binary Floating-Point Arithmetic, ANSI/IEEE Std 754-1985 )二进制浮点运算规范,是浮点运算部件事实上的工业标准。 在计算机系统的发展过程中,...

    单片机与DSP中的PIC单片机浮点数与十进制数之间的转换

    1 浮点数的格式 Microchip公司单片机所采用的浮点数格式是IEEE-754标准的变异型。32位浮点数格式为:  其中:×表示一位二进制数0或1;eb 为指数的偏差;S为浮点数的符号位,S=0为正数,S=1为负数;小数点“·...

    32位浮点数加法器verilog

    32位浮点数加法器 也算是减法器 其中32位浮点数用的是IEEE 754标准表示的 根据别人的改写的 有问题欢迎大家指出 信号定义不是很完整 verilog编写的

Global site tag (gtag.js) - Google Analytics