gpt4 book ai didi

javascript - 将数字转换为二进制字符串的函数

转载 作者:行者123 更新时间:2023-12-03 21:25:57 25 4
gpt4 key购买 nike

编写一个函数将传入的数字转换为二进制字符串。该函数正在创建一个正确的二进制序列,但我的比较函数在比较等于 binaryIndex[0](例如 n = 32、16、8、4)的数字时跳过了第一个索引。有什么想法吗?

这一步创建了一个二进制有序数组,我将使用它来检查传入的参数:

var Bin = function(n) {
var x =1;
var binSeq=[];
var converted=[];
for (var i=0; x <= n; i++) {
binSeq.unshift(x)
x = x+x
}
console.log(binSeq)

下一步应该比较并输出 1 和 0 的二进制序列:但它正在跳过 if (n === binSeq[0])

for (var i=0; i < binSeq.length; i++) {
if ((n - binSeq[i]) >= 0) {
converted.unshift(1);
n=n-binSeq[i]
} else {converted.unshift(0)}
}
console.log(converted)
}

CodePen 链接:https://codepen.io/fdeppe/pen/GEozKY?editors=1111

最佳答案

其实这样就可以了

function dec2bin(dec){
return (dec >>> 0).toString(2);
}

解释在这里==> Negative numbers to binary string in JavaScript

-3 >>> 0 (right logical shift) coerces its arguments to unsigned integers, which is why you get the 32-bit two's complement representation of -3.

关于javascript - 将数字转换为二进制字符串的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44810365/

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