阅读 77

浮点数的科学计数表示方法,java中不等于怎么表示

java虚拟机的浮点数分为float和double两种,分别为32位和64位。 参考IEEE 754规范处理浮点数。 以float为例,分析一下float数的表示方法。

float的32位分为表示浮点数:的三个部分

浮点数的计算公式为:

分析:

1 )在编码比特s取值为0时,sflag为1,s为1时,sflag为-1.因此有:

2 ) e是指数位数,用8位数表示

3 ) m为末尾的值,占有空间为2.3位数,但根据e的取值不同,有2.4位数的精度。 因此,引入附加比特,规则如下, m的值根据e的值动态变化。 如果8个指数位数e都是0,则尾数位数m加0 (),否则加1。

将-5的显示设为:

system.out.println (integer.tobinarystring (float.floattorawintbits (-5 ) ); 结果是,11000 000100000000000000000编码比特指数比特尾数比特指数比特1000000000001不都是0,所以添加尾数比特(从左开始) 1,实际的尾数比特为:

1010000000000000=101000000000000000=101000000000000000根据上述公式:

计算各部分的值:

1 ) sflag: -1

2 ) m的计算很复杂,尾数表示2的指数乘方之和。 计算过程:

3 )尾数位数:

所以,结果是:


文章分类
代码人生
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐