JavaScript Tutorials

JavaScript高效十进制转二进制

Spread the love

将十进制数转换为二进制等价数是编程中的一项常见任务。JavaScript 提供了高效的方法来执行此转换,本文探讨了两种主要方法。

目录

JavaScript 中的手动二进制转换

理解底层算法可以增强您的编程技能。本节演示了一个自定义函数,用于将十进制数转换为其二进制表示形式。该算法重复地将数字除以 2,记录余数以构建二进制字符串。


function decimalToBinary(decimal) {
  if (decimal === 0) return "0"; 
  let binary = "";
  let temp = decimal;
  while (temp > 0) {
    binary = (temp % 2) + binary;
    temp = Math.floor(temp / 2);
  }
  return binary;
}

// 示例
console.log(decimalToBinary(10));   // 输出:1010
console.log(decimalToBinary(255));  // 输出:11111111
console.log(decimalToBinary(0));    // 输出:0

该函数处理 0 的情况,并迭代地将输入除以 2,直到商为 0。每个余数 (0 或 1) 都被添加到 binary 字符串的前面,从而构建二进制表示。

使用toString(2)进行高效的二进制转换

JavaScript 的内置 toString(2) 方法提供了一种简洁高效的解决方案。此方法直接将数字转换为其二进制字符串表示形式。


function decimalToBinaryFast(decimal) {
  return decimal.toString(2);
}

// 示例
console.log(decimalToBinaryFast(10));   // 输出:1010
console.log(decimalToBinaryFast(255));  // 输出:11111111
console.log(decimalToBinaryFast(0));    // 输出:0

toString(2) 方法将基数 (进制) 作为参数。将其设置为 2 指定二进制转换。这种方法比手动方法快得多,而且更易读。

总之,虽然理解手动转换过程对于学习很有价值,但在大多数实际场景中,内置的 toString(2) 方法因其效率和可读性而成为首选方法。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注