`
merrymode
  • 浏览: 54570 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

[Java]IEEE754浮点数的转换方法

阅读更多
16进制浮点数的表示方法,根据IEEE的标准,分为32位和64位两种,参数分别如下:

             符号位      指数位             尾数位            指数偏移量
32位     1[31]     8[23-30]        23[0-22]           127

64位     1[63]     11[52-62]      52[0-51]          1023

说明:

1位符号位(SIGN)
8位指数位(EXPONENT)
23位尾数位(MANTISSA)

其中,32位二进制数的排位为:[31][30][29]...[2][1][0]

         64位二进制数的排位为:[63][62][61]...[2][1][0]

16进制转换为10进制的公式如下:

SGL = (-1)^SIGN * 1.MANTISSA * 2^(EXPONENT-127)

举例:

将0x40800000转换为10进制数,方法如下:

(1)先将16进制数转成二进制数01000000100000000000000000000000

(2)1位符号位(SIGN)=0

(3)8位指数位(EXPONENT)=10000001=129[10进制]

(4)23位尾数位(MANTISSA)=00000000000000000000000

(5)1.尾数=1.1 .00000000000000000000000=1.0000000[10进制]

(6)套入公式得SGL=(-1)^0*1.0000000*2^(129-127)=4

上面说的是转换原理,在JAVA里面转换其实没有那么麻烦,因为有好多现有的JDK函数可用,所以就大大简化了我们的转换过程。下面我举个例子来说明一下。

举例:

       将46729C00转换为10进制数,方法如下:

         String hex="46729C00";

         Float  value=Float.intBitsToFloat(Integer.valueOf(hex, 16));

       这样就可以了,很简单吧!O(∩_∩)O~

分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    JavaIEEE754浮点数的转换方法

    [Java]IEEE754浮点数的转换方法,方法都写好了,直接复制过去就可以用了,就这么简单!

    IEEE754浮点数与十进制数互相转换原理分析

    ** IEEE754浮点数与十进制数互相转换原理 ** 在计算机科学中,IEEE754标准是用于表示浮点数的一种国际标准,它定义了浮点数的存储格式,使得不同计算机系统之间可以一致地表示和交换浮点数值。这个标准广泛应用于...

    IEEE754浮点数_数值转换_浮点数转换_

    **浮点数转换**: 转换浮点数通常是指将一个浮点数从一种格式(如单精度)转换为另一种格式(如双精度)。这个过程需要保留尽可能多的精度,同时处理溢出或下溢的情况。转换时,指数和尾数都要进行相应的调整,确保...

    十进制浮点数转IEEE754浮点数

    十进制浮点数转IEEE754浮点数,利用C语言中的union

    IEEE-754标准 定义浮点数转换工具

    提供的`IEE.exe`工具显然是一个实用的IEEE-754转换器,能够方便用户将十进制浮点数转换成IEEE-754标准的二进制表示,反之亦然。`说明介绍.url`可能指向一个包含该工具使用方法和更多细节的在线文档或网站。在实际...

    IEEE_754_16进制转十进制浮点数 工具

    描述中的“测试有效”意味着这个工具已经过验证,可以正确地将16进制表示的IEEE 754浮点数转换为十进制形式,确保了结果的准确性。 在提供的压缩包文件中,"16to10.exe"很可能是这个转换工具的可执行文件,适用于...

    Java实现IEE754 Float类型数据

    IEEE 754标准定义了一种广泛使用的浮点数表示方法,它被用于大多数现代处理器上。本文将详细探讨如何使用Java语言来实现IEEE 754标准中的单精度浮点数(Float)的解析过程。 #### IEEE 754标准简介 IEEE 754标准...

    基于IEEE754标准 将一个十六进制转换为十进制浮点数

    本篇文章将深入探讨基于IEEE754标准将十六进制转换为十进制浮点数的过程,并以C#语言为例,解释实现这一转换的源码。 首先,我们需要理解IEEE754浮点数的结构。一个IEEE754浮点数由三部分组成:符号位、指数部分和...

    IEEE754双向转换程序

    单精度ieee754浮点数和十进制数的双向转换程序。本人就读中北大学,毕业了,算是对母校的一点留恋。 QQ 30682981 Email:zhanmail@foxmail.com

    IEEE标准的32位浮点数转换为十进制的计算方法

    这里我们关注的是IEEE标准的32位浮点数如何转换为十进制数,这个问题在单片机编程、数据分析以及MODBUS协议应用中尤为重要。首先,我们要了解IEEE 754浮点数格式,它是计算机科学中用于表示浮点数的标准。 IEEE 754...

    单精度&双精度浮点数与十六进制数相互转换

    在实际编程中,大多数编程语言如C++、Java、Python等都提供了内置函数来进行浮点数和十六进制之间的转换。例如,在Python中,可以使用`float.hex()`和`float.fromhex()`方法实现这一过程。 理解这些转换机制对编程...

    单双精度转十六进制.zip

    "单双精度转十六进制.exe"这个程序很可能是一个实用工具,它可以自动完成上述过程,将输入的单精度或双精度浮点数转换为相应的十六进制字符串,反之亦然。用户可能输入一个数值,程序会显示其十六进制表示;或者用户...

    64位十六进制转浮点数

    转换工具和编程语言(如Python、Java、C++等)通常内置了直接进行这种转换的功能,但理解转换原理有助于更好地理解和处理浮点数相关的计算问题,尤其是在进行数值计算、数据分析或者低级系统编程时。在编程中,可以...

    HEX与浮点数相互转换

    描述中提到的“支持浮点数与HEX格式相互转换”,意味着存在一个工具或者编程函数,能够将浮点数转换为HEX字符串,反之亦然。这个过程涉及到以下几个步骤: 1. **浮点数到HEX**: 首先,浮点数按照IEEE 754标准转换为...

    浮点数与十进制数转换工具

    在编程语言中,如Python、Java、C++等,都有内置的函数或者库来支持浮点数和十进制数之间的转换,例如Python的`float()`和`int()`函数,Java的`Float.parseFloat()`和`Integer.parseInt()`方法。理解这些转换机制...

    浮点数转换工具.7z

    浮点数的表示基于二进制浮点数标准,最常见的是IEEE 754标准。这个标准定义了如何用有限的二进制位来表示一个可能很大或很小的十进制数字,包括正负号、指数和尾数。在计算机中,浮点数的转换涉及到这些二进制组件的...

    16进制单精度(32位)浮点型转换器源码

    对于Java开发者来说,这个转换器可能会使用Java的`java.nio.ByteBuffer`类来处理字节顺序,以及`Float.intBitsToFloat()`方法来完成从整数到浮点数的转换。此外,源码可能还包含错误检查和用户界面部分,以确保输入...

    浮点型数据与IEEE754标准互转

    例如,在网络传输、文件存储或者序列化过程中,可能需要将浮点数转换为二进制表示,以便于高效传输和存储。而在算法设计和调试时,了解内部表示可以帮助我们分析和解决精度误差。 总之,浮点型数据与IEEE754标准的...

    IEEE754Converter:将 IEEE-754 格式转换为不同表示形式的应用程序

    标题中的"IEEE754Converter"是一个应用程序,其功能是将符合IEEE 754标准的浮点数转换为不同的表示形式,可能是十进制、科学记数法、二进制或者十六进制。这种工具对于开发者和学生来说非常有用,因为他们可以更容易...

    4字节浮点数内码转换

    4字节浮点数,也称为单精度浮点数,遵循国际标准IEEE 754,这种格式在大多数现代计算机系统中广泛使用。4字节浮点数能够表示大约6到9个有效数字,并且具有一定的精度和范围。 首先,让我们了解浮点数的基本结构。...

Global site tag (gtag.js) - Google Analytics