现有一个16进制数c803c0e8需要转换为浮点(32位)数。
- 将16进制数转换为long类型
- 将long类型转换为二进制字符串
- 将二进制字符串转换为浮点型
- 结果为-134915.625
代码如下:
long l =Long.parseLong("c803c0e8",16);
String d = Long.toBinaryString(l);
output:
11001000000000111100000011101000
将二进制转换为浮点型如下:
1第一位
10010000中间8位
00000111100000011101000后23位
<pre name="code" class="java"><span style="background-color: rgb(0, 0, 0);"><span style="color:#FFCCFF;">1</span></span> <span style="background-color: rgb(255, 204, 204);">1001 0000</span> <span style="background-color: rgb(51, 204, 255);">000 0011 1100 0000 1110 1000</span>
第一位为符号位,0为正