float数据格式

本文介绍了浮点数的表示方式,遵循IEEE-754标准,包括符号位、有效数字位和指数位的详细说明。在JAVA中,可以使用Float.floatToIntBits()和Float.intBitsToFloat()进行float与int之间的转换。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

通常浮点数(Floating Point Number)格式采用IEEE-754标准(32),用四个字节共32位表示。浮点数格式如下:

D31D30~D23D22~D0
浮点数符号位阶码尾数

在这里插入图片描述

  • 符号位 s(Sign)决定数是正数(s=0)还是负数(s=1),而对于数值 0 的符号位解释则作为特殊情况处理。

  • 有效数字位 M(Significand)是二进制小数,它的取值范围为 1~2-ε,或者为 0~1-ε。它也被称为尾数位(Mantissa)、系数位(Coefficient),甚至还被称作“小数”。

  • 指数位 E(Exponent)是 2 的幂(可能是负数),它的作用是对浮点数加权。

  • 浮点数值

JAVA中的float

在java中可能通过Float.floatToIntBits()和 Float.intBitsToFloat()方法将数据转换为float和int。

    public static void main(String[] args) {
        float f = 5.0f;
        int i = 0b01000000101000000000000000000000;

        System.out.println("f->i:" + Float.floatToIntBits(f));
        System.out.println("i->i:" + i);
        //
        System.out.println("i->f:" + Float.intBitsToFloat(i));
        System.out.println("f->f:" + f);

    }
f->i:1084227584
i->i:1084227584
i->f:5.0
f->f:5.0
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值