javascript - 将点二进制转换为 float

标签 javascript algorithm binary decimal

我有点二进制,例如 0.10010011
如何将其转换为十进制 float ?
(0.10010011 = 0.57421875)

var a = 0.10010011
var b = point_bin2dec(a)
console.log(b) // 0.57421875

最佳答案

function point_bin2dec(num) {
    var parts = num.toString().split('.');
    return parseInt(parts[0], 2) + (parts[1] || '').split('').reduceRight(function (r, a) {
        return (r + parseInt(a, 2)) / 2;
    }, 0);
}
document.write(point_bin2dec(0.10010011));

修改自这个问题的答案How to convert binary fraction to decimal

关于javascript - 将点二进制转换为 float ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50221635/

相关文章:

javascript - 自动完成jquery ui中的按键事件

javascript - 没有/低 alpha 的 Canvas PutImageData 颜色丢失

algorithm - 最大化两个数字的总和加上它们之间的距离

c# - 整数是如何存储在内存中的?

python - 在python中将十进制转换为二进制

javascript - 悬停时模糊整个背景

Javascript 滚动激活

c++ - 反射格雷码到二进制转换中的魔数(Magic Number)

优化嵌套循环的算法

java - 对存储在 boolean 数组中的两个二进制数进行加、减、除和乘