您的位置 首页 知识

浮点数表示范围和精度取决于什么(浮点数阶码和尾数详解)

浮点数的取值范围取决于?

浮点数的取值范围由阶码的位数决定,而浮点数的精度由尾数的位数决定。

浮点数是属于有理数中某特定子集的数的数字表示,在计算机中用以近似表示任意某个实数。具体的说,这个实数由一个整数或定点数(即尾数)乘以某个基数(计算机中通常是2)的整数次幂得到,这种表示方法类似于基数为10的科学计数法。

谁能告诉我,浮点数的阶码,和尾码,具体是什么原理,有些迷惑~ 谢谢了~?

阶码用于表示小数点在该数中的位置,它是一个带符号的整数。 尾数。用于表示数的有效数值,可以采用整数或纯小数两种形式。 一般PC机选择32位(单精度)或64位(双精度)二进制表示一个浮点数。

浮点数表示格式

浮点数是属于有理数中某特定子集的数的数字表示。在计算机中用以近似表示任意某个实数。具体的说,这个实数由一个整数或定点数即尾数乘以某个基数计算机中通常是2的整数次幂得到。Single:单精度浮点型,变量存储为IEEE32位4个字节浮点数值的形式。

浮点数表示方法

浮点数是属于有理数中某特定子集的数的数字表示,在计算机中用以近似表示任意某个实数。

具体的说,这个实数由一个整数或定点数乘以某个基数的整数次幂得到,在计算机中基数通常是2,这种表示方法类似于基数为10的科学计数法。

浮点数如何转成二进制数?也就是用二制数如何来表示浮点数?

  • 如:1234.3945——————————-转成二进制数是什么值?如:1112.999———————————–转成二进制数是什么值?麻烦大家给给这个算法?谢谢
  • 选定小数位数为16位,则乘以65536(2^16)实现整数化:(1234.3945)10*(2^16)10=(1234.3945)10*(65536)10=(80897277.952)10(80897277)10 去掉小数,保留整数部分=(4D264FD)16=(0100 1101 0010 0110 0100 1111 1101)2因为最初乘了65536,即2的16次方,所以换算成二进制时应右移十六位,去掉前导零,即(10011010010.0110010011111101)2(1112.999)10*(2^16)10 =(1112.999)10*(65536)10 =(72941502.464)10 (72941502)10 去掉小数,保留整数部分 =(458FFBE)16 =(0100 0101 1000 1111 1111 1011 1110)2 因为最初乘了65536,即2的16次方,所以换算成二进制时应右移十六位,去掉前导及后导零, 即(10001011000.111111111011111)2

您可能感兴趣