java浮点数转二进制_IEEE 754 浮点 二进制 转换

定点数

定点数就是指小数点的位置固定不变,小数点的位置通常有两种约定方式:定点整数(纯整数,小数点在最低有效值位之后 比如:100.)和定点小数(纯小数,小数点在最高有效数值位之前 比如:.101)。

浮点数

浮点数是小数点位置不因定的数,它能表示更大范围。在浮点表示法中,阶码通常为带符号的纯整数,尾数为带符号的纯小数,浮点灵敏的表示格式如下:

阶符 | 阶码 | 数符 | 尾数

浮点数所能表示的数值范围主要由阶码决定,所表示数值的精度由尾数决定。为了充分利用尾数来表示更多的有效数字,通常采用规格化浮点数。规格化浮就是将尾数的绝对值限定在区间[0.5 , 1]。当尾数用补码表时,需要注意如下问题。

1. 若尾数 M >= 0 ,则其规格化的尾数形式为 M=0.1xxxx……x, 其中 x 可为 0 或 1。即尾数限定在[0.5 , 1]之间。

2. 若尾数 M < 0 ,则其规格化的尾数形式为 M=1.0xxxx……x,其中 x 可为 0 或 1。即尾数限定在[-1,-0.5]之间。

3. 工业标准IEEE 754

S | P | M

其中,S为数的符号位,为0时表示正数,为1时表示负数;P为阶码,通常用移码表示;M为尾数,用原码表示。

目前,计算机中主要使用三种形式的IEEE 754 浮点数,在IEEE 754 标准中,约定小数点左边隐含有一位,通常这位数就是1。

参数                单精度浮点数        双精度浮点数        扩充精度浮点数

浮点数字长        32                64                80

尾数长度            23                52                64

符号位长度        1                1                1

阶码长度            8                11                15

指数偏移量        +127            +1023            +16383

可表示的实数范围    10^-38~10^38    10^-308~10^308    10^-4932~10^4932

例如:

十进制的 123.456 用IEEE754 单精度浮点二进制表示。

首先分别转换整数跟小数部分

整数部分:

十进制 123 = 二进制 1111011

小数部分:

十进制 456 = 二进制 01110100101111000 110

123.456 转 IEEE754 单精度浮点数二进制为:

符号位       阶码                尾数

0    10000101    11101101110100101111000

说明:

符号位

因为此数为正数所以为0。

阶码

IEEE 754 标准 把小数点移至最高有效位后,即指数为 6 ,再加上 指数偏移量 127 (等于 133) 那么阶码(移码)的二进制为 10000101 。

尾数

单精度浮点数只保留23位尾数即多余的尾数去掉,即原码 11101101110100101111000

123.456 转 IEEE754 单精度浮点数二进制为:

0 10000101 11101101110100101111000

IEEE 754 浮点数 十进制转二进制 WEB工具 URL: http://babbage.cs.qc.edu/IEEE-754/Decimal.html

posted on 2010-04-18 08:04 Alex刺客 阅读(3519) 评论(0)  编辑  收藏 所属分类: CEIAEC

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值