16进制编码怎么和带小数点的数字对应起来

img


麻烦帮我看一下,图片上的码和下面的数字怎么对应起来的(-0.02437116, -0.9726091, -0.1389932),是什么算法,懂的朋友麻烦说一下。

下有代码,可直接复制使用。如有帮助,敬请采纳,你的采纳是我前进的动力,O(∩_∩)O谢谢!!!!!!!!
学会这个方法,轻松搞定10进制小数转16进制
十进制小数转十六进制小数,方法为乘十六取整,每次乘以相应之后基数后取结果的整数部分即可。
需要注意的是并非所有的十进制小数都能完全转化为十六进制小数,这时就需要取近似值。

例: 0.9032D转化成16进制小数

    0.9032*16=14.4512 取整数14 即E
    0.4512*16=7.2192 取整数7
    0.2192*16=3.5072 取整数3
    0.5072*16=8.1152 取整数8
    0.1152*16=1.8432 取整数1

所以这个数转换成16进制就是0.E7381H

就是将十进制小数直接转换为16进制,跟整数转换一样,但不是所有十进制小数都能转换成十六进制小数,有时需要取近似值,
举个例子,
32.625转换成十六进制就是20.A

什么情况下会用到这种东西?小数转字节,应该遵从IEE754才对。你试试转着对不对。不过,什么情况下会直接出现这种运行结果?

-0.02437116 -> AF8EA9DCC0F498BF
-0.97260910 -> 0358891E9D1FEFBF
-0.13899320 -> C7E52E7887CAC1BF

你这个数转出来不是标准的IEEE754格式

这个,条件不足,还需要知道使用的什么格式进行的编码,定点小数和浮点小数的编码会形成不同的值

你这个是字节码文件,每16位对应一个具体的变量

应该是IEEE754格式

这篇文章:16进制数组转字符串 也许有你想要的答案,你可以看看

就是ASCII码, 显示. 的是 字符集不支持 用 . 当占位符, win 电脑里可以搜索一个 字符映射表 的程序, 就可以对着的 查看你想要的映射关系 比如说 FF 是 y上带两个点的字符.

img

就是将十进制小数直接转换为16进制,跟整数转换一样,但不是所有十进制小数都能转换成十六进制小数,有时需要取近似值,
32.625转换成十六进制就是20.A

java语言版本浮点数与十六进制的转换

//十六进制字符串转float
 String s="BD45F77B";
 Long l = Long.parseLong(s, 16);
 Float f = Float.intBitsToFloat(l.intValue());
 System.out.println(f);
//float转十六进制字符串
Float f=-0.048331718891859055f;
String value= Integer.toHexString(Float.floatToIntBits(f));
System.out.println(value);

常用的浮点数据为float与double的,分别为32位与64位,这个是有标准可寻的,IEEE754对浮点数据的存储做了规则,目前常用的编程语言都是遵循的。