java实现十六进制转换为浮点数

现有一个16进制数c803c0e8需要转换为浮点(32位)数。

  1. 将16进制数转换为long类型
  2. 将long类型转换为二进制字符串
  3. 将二进制字符串转换为浮点型
  4. 结果为-134915.625

代码如下:

long l =Long.parseLong("c803c0e8",16);
String d = Long.toBinaryString(l);
output:
11001000000000111100000011101000

将二进制转换为浮点型如下:

1第一位
10010000中间8位
00000111100000011101000后23位

1 1001 0000 000 0011 1100 0000 1110 1000

第一位为符号位,0为正

你可能感兴趣的:(java基础,十六进制,java,浮点数)