gpt4 book ai didi

java - 如何使用 Java 将 32 位尾数 (IEEE754) 转换为十进制数?

转载 作者:行者123 更新时间:2023-12-04 20:39:58 24 4
gpt4 key购买 nike

我有这个例子:

0 10000101 00111100000000000000000

并想将其转换为十进制数。

到目前为止,我已经有了获取指数部分的代码:

String[]hex={"0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F"};
String[]binary={"0000","0001","0010","0011","0100","0101","0110","0111","1000","1001","1010","1011","1100","1101","1110","1111"};

String userInput="429E0000";
String result="";
for(int i=0;i<userInput.length();i++)
{
char temp=userInput.charAt(i);
String temp2=""+temp+"";
for(int j=0;j<hex.length;j++)
{
if(temp2.equalsIgnoreCase(hex[j]))
{
result=result+binary[j];
}
}
}
System.out.println(result);

int exponent = Integer.parseInt(result.substring(1,9),2)-127;
System.out.println(exponent);

Java 有内置命令吗?

最佳答案

是的,有一个内置命令,intBitsToFloat将 32 位 int 转换为 float。您只需将输入解析为 int,更简单的方法 - 如果您的输入是十六进制格式 - 将直接在 Integer.parseInt() 中使用 base 16 ,然后 intBitsToFloat 将该位模式转换为 float

关于java - 如何使用 Java 将 32 位尾数 (IEEE754) 转换为十进制数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9320522/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com