16进制浮点数的表示方法

16进制浮点数的表示方法16进制浮点数的表示方法,根据IEEE的标准,分为32位和64位两种,参数分别如下:             符号位     指数位           尾数位           指数偏移量 32位    1[31]    8[23-30]        23[0-22]          127  64位    1[63]    11[52-62]   

大家好,又见面了,我是你们的朋友全栈君。

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~

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/150544.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 平分石头

    平分石头平分石头题目描述:有一n个石头,它们的重量分别是W1,…,Wn.写一个程序,把它们分成两堆,使得两堆石头的重量差最小。输入格式:输入n(1≤n≤20)表示石头的个数。第二行n个石头的重量W1,…,Wn(1≤Wi≤100000)输出格式:输入最小的差(绝对值)样例输入:5581327…

    2022年7月24日
    8
  • java有哪些服务器_java服务器有哪些?

    java有哪些服务器_java服务器有哪些?java服务器有哪些?应用服务器主要为应用程序提供运行环境,为组件提供服务。Java的应用服务器很多,从功能上分为两大类,JSP服务器和JavaEE服务器,也可分其他小类。JSP服务器有Tomcat、BejyTiger、Geronimo、Jetty、Jonas、Jrun、Orion、Resin等等。JavaEE服务器有TongWeb、BESApplicati…

    2022年6月8日
    34
  • javascript 异步编程2

    javascript 异步编程2

    2021年8月10日
    48
  • EasyBoot使用方法

    EasyBoot使用方法1修改背景图片直接替换掉EasyBoot\disk1\ezboot目录下面的BACK.BMP文件即可。但是限于DOS功能限制,只能使用640×480像素,256位色的BMP图片。2鼠标

    2022年7月4日
    20
  • 秒 毫秒 微秒 纳秒 皮秒。。时间单位换算[通俗易懂]

    秒 毫秒 微秒 纳秒 皮秒。。时间单位换算[通俗易懂]1s=1000ms=1000000微秒=1000000000纳秒=1000000000000皮秒=10^15飞秒=10^18啊秒=10^21仄秒=10^24幺秒1s=10^3ms(毫秒)=10^6μs(微秒)=10^9ns(纳秒)=10^12ps(皮秒)=10^15fs(飞秒)=10^18as(阿秒)=10^21zm(仄秒)=10^24ym(幺秒)

    2025年9月17日
    4
  • goland 2022.01 激活码【2021.10最新】

    (goland 2022.01 激活码)本文适用于JetBrains家族所有ide,包括IntelliJidea,phpstorm,webstorm,pycharm,datagrip等。IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html…

    2022年3月31日
    234

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号