在JavaScript中,将十进制数转换为二进制数可以通过多种方式实现。以下是几种常见的方法:
toString()
JavaScript 的 Number
对象提供了一个 toString()
方法,可以将数字转换为指定基数的字符串表示。当基数为2时,即可将十进制数转换为二进制字符串。
let decimalNumber = 10;
let binaryString = decimalNumber.toString(2);
console.log(binaryString); // 输出 "1010"
通过位运算符也可以实现十进制到二进制的转换。这种方法通常涉及循环移位和按位与操作。
function decimalToBinary(decimal) {
let binary = '';
while (decimal > 0) {
binary = (decimal & 1) + binary;
decimal >>= 1;
}
return binary || '0';
}
console.log(decimalToBinary(10)); // 输出 "1010"
递归方法是将除以2的余数不断拼接起来,直到商为0。
function decimalToBinaryRecursive(decimal) {
if (decimal === 0) return '0';
if (decimal === 1) return '1';
return decimalToBinaryRecursive(Math.floor(decimal / 2)) + (decimal % 2);
}
console.log(decimalToBinaryRecursive(10)); // 输出 "1010"
let bigDecimal = BigInt(12345678901234567890);
let bigBinary = bigDecimal.toString(2);
console.log(bigBinary);
let negativeDecimal = -10;
let negativeBinary = (negativeDecimal >>> 0).toString(2);
console.log(negativeBinary); // 输出 "11111111111111111111111111110110"
以上方法可以帮助你在JavaScript中将十进制数转换为二进制数,并解决可能遇到的常见问题。
领取专属 10元无门槛券
手把手带您无忧上云