使用JavaScript中的递归将十进制转换为二进制

我们需要编写一个以数字作为第一个也是唯一的参数的JavaScript函数。该函数应使用递归构造一个字符串,该字符串表示该数字的二进制符号。

例如-

f(4) = '100'

f(1000) = '1111101000'

f(8) = '1000'

示例

以下是代码-

const decimalToBinary = (num) => {

   if(num >= 1) {

      // 如果num不能被2整除,则递归地返回过程

      // num减1,的二进制数,剩下的1 num加1

      if (num % 2) {

         return decimalToBinary((num - 1) / 2) + 1;

      } else {

         // 递归地返回行进的二进制数字

         return decimalToBinary(num / 2) + 0;

      }

   } else {

      // 退出条件

      return '';

   };

};

console.log(decimalToBinary(4));

console.log(decimalToBinary(1000));

console.log(decimalToBinary(8));

输出结果

以下是控制台上的输出-

100

1111101000

1000

以上是 使用JavaScript中的递归将十进制转换为二进制 的全部内容, 来源链接: utcz.com/z/330767.html

回到顶部