我正在尝试将-75转换为十六进制浮点。该浮点由1个符号位,5个指数位,10个mantisse位和bias = 15组成。我能够将-75转换为F 0000E 4B00000000。但我不完全确定隐藏位系统如何以这种十六进制表示法工作?我怀疑它不存在,因为在二进制系统中有16个不同的十六进制数字(0-F)而不是2(0-1)。
所以这就是我所做的:
vm.product = new Product();
vm.save = function() {
vm.product.$save(
function(data) {
vm.message = "... Save Complete";
},
function(response) {
vm.message = response.statusText + "\r\n";
if (response.data.modelState) {
for (var key in response.data.modelState) {
vm.message += response.data.modelState[key] + "\r\n";
}
}
if (response.data.exceptionMessage)
vm.message += response.data.exceptionMessage;
});
};
这是对的吗?
答案 0 :(得分:0)
正如Patricia Shanahan在你的问题的评论中已经说过,“bit”不太可能被解释为完整的十六进制数字。据我所知,有点总是“ bi nary digi t ”。
您描述的格式只有16位。那只是4个十六进制数字。
事实上,您的格式听起来与half-precision完全相同,也称为 binary16 。
我建议你首先解决这个问题。你得到16位bb...b
:
bbbbbbbb bbbbbbbb
\ /\ / \ /\ /
¯¯ ¯¯ ¯¯ ¯¯
然后将16位二进制数字分组为四个组,以获得四位十六进制数字。
免责声明:我们无法确定您的数字格式,因此我的解决方案是一种合格的猜测。