在计算机中浮点数的表示范围(浮点数在计算机中的表示)

目前计算机在表示浮点数是采用IEEE 754标准,该标准的诞生为科学应用程序在不同机器上的可移植性奠定了基础

IEEE 754标准

在计算机中浮点数的表示范围(浮点数在计算机中的表示)(1)

  • 符号位s,决定这是一个正数还是一个负数。当s=0时为正数,s=1时为负数
  • M位,即有效数字位,该值是一个二进制小数,它的范围是大于1小于2
  • E指数位,又称阶码位,作用是对浮点数进行加权

IEEEE 754规定,数字系统中的浮点数是对数学中小数的近似,同时规定表达浮点数的0,1序列被分为三部分

在计算机中浮点数的表示范围(浮点数在计算机中的表示)(2)

规则示例(3.14的表示)
  • 首先将十进制小数转成二进制小数11.0010001111010111
  • 将二进制小数转为IEEE浮点数标准格式,即1.10010001111010111x21
  • 对照上图,sign符号位为0,表示正数,exponent表示科学计数法的指数部分(这里的指数并不是计算出来的指数,而是计算出来的指数加上偏移量,对于32位单精度浮点数来说,偏移值为127,所以component的值为127 1=128),二进制表示为10000000。
  • fraction表示有效数字位,又叫尾数。即10010001111010111。再补齐只23位,即10010001111010111000000
  • 因此32位单精度浮点数3.14在计算机中被表示为:0 10000000 10010001111010111000000

对于64位双精度浮点数来说,exponent段为11位,偏移值为1023,fraction长度为52位

写在最后

浮点数终究只是小数的近似,不可能完全描述。因为浮点数的位数终究是有限的,也就是说他所能表现的总是有限个有理数

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页