gpt4 book ai didi

javascript - 如何在 JavaScript 中分割二进制数

转载 作者:行者123 更新时间:2023-12-03 02:31:07 26 4
gpt4 key购买 nike

我决定编写程序,用户输入一个二进制数字,如11000000.10101000,然后将其转换为数字。但我不知道为什么输出只是最后一个数字。这是我的代码:

function ConvertToDec()
{
var binaryNumber = document.getElementById('NumberInput').value;
var decNumber;
var split = binaryNumber.split("\.");
for(i=0; i<split.length; i++) {
decNumber = parseInt(split[i], 2);
//console.log(split[i]);
//console.log(decNumber);
document.getElementById('Result').value = decNumber;
}

}

最佳答案

假设点是小数分隔符,那么您可以使用 parseIntradix of 2 将整数部分转换为十进制值并通过取以 2 为底的分数将小数部分转换为数字。

binary             decimal (2^n)    n
----------------- ------------- ----
11000000.10101000
10000000 128 7
1000000 64 5
.1 .5 -1
.001 .125 -3
.00001 .03125 -5
----------------- -------------
11000000.10101000 192.65625

function bin2dec(bin) {
var [int, frac] = bin.split("\.");

return [...frac].reduce((d, b, i) => d + b / (2 << i), parseInt(int, 2));
}

console.log(bin2dec('11000000.10101000'));

关于javascript - 如何在 JavaScript 中分割二进制数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48731296/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com