Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/375.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 十六进制到浮点的转换-JS中的大端(ABCD)_Javascript_Node.js - Fatal编程技术网

Javascript 十六进制到浮点的转换-JS中的大端(ABCD)

Javascript 十六进制到浮点的转换-JS中的大端(ABCD),javascript,node.js,Javascript,Node.js,我需要将这个十六进制“46b76833”转换成浮点,我需要得到这个值23476.1 我写了一个代码得到十六进制和其他一切,但这一步我不知道怎么做,有人能帮我吗?提前谢谢 我试过这样的东西,但没用 function hexToFloat(hex) { var s = hex >> 31 ? -1 : 1; var e = (hex >> 23) & 0xFF; var rez = s * (hex & 0x7fffff | 0x800

我需要将这个十六进制“46b76833”转换成浮点,我需要得到这个值23476.1

我写了一个代码得到十六进制和其他一切,但这一步我不知道怎么做,有人能帮我吗?提前谢谢

我试过这样的东西,但没用

function hexToFloat(hex) {
    var s = hex >> 31 ? -1 : 1;
    var e = (hex >> 23) & 0xFF;
    var rez = s * (hex & 0x7fffff | 0x800000) * 1.0 / Math.pow(2, 23) * Math.pow(2, (e - 127));
    return rez
}

就快到了,我们只需要将十六进制字符串转换成数字,然后再转换成浮点

MSB是符号,以下8位是指数,最后23位表示数字的分数

这是一个IEEE单精度浮点数,有更多细节

函数hexStringToFloat(hexString){ 常量hex=parseInt(十六进制字符串,16); 常数符号=十六进制>>31?-1:1; 常数指数=(十六进制>>23)&0xFF; 返回符号*(十六进制和0x7fffff | 0x800000)*1.0/数学功率(2,23)*数学功率(2,(指数-127)); }
log(“结果:”,hexStringToFloat(“46b76833”)您就快到了,我们只需要将十六进制字符串转换为数字,然后再转换为浮点

MSB是符号,以下8位是指数,最后23位表示数字的分数

这是一个IEEE单精度浮点数,有更多细节

函数hexStringToFloat(hexString){ 常量hex=parseInt(十六进制字符串,16); 常数符号=十六进制>>31?-1:1; 常数指数=(十六进制>>23)&0xFF; 返回符号*(十六进制和0x7fffff | 0x800000)*1.0/数学功率(2,23)*数学功率(2,(指数-127)); }
log(“结果:”,hexStringToFloat(“46b76833”)非常感谢,这很有效!所以我只错过了parseInt转换器,你让我开心!太好了,很高兴能帮上忙!!非常感谢,这很有效!所以我只错过了parseInt转换器,你让我开心!太好了,很高兴能帮上忙!!