在 JavaScript 中使用遞迴將十進位制轉換為二進位制


我們需要編寫一個 JavaScript 函式,該函式以一個數字作為第一個且唯一參量。該函式應該使用遞迴生成一個字串,該字串代表該數字的二進位制表示形式。

例如 -

f(4) = '100'
f(1000) = '1111101000'
f(8) = '1000'

示例

以下為程式碼 -

const decimalToBinary = (num) => {
   if(num >= 1) {
      // If num is not divisible by 2 then recursively return proceeding
      // binary of the num minus 1, 1 is added for the leftover 1 num
      if (num % 2) {
         return decimalToBinary((num - 1) / 2) + 1;
      } else {
         // Recursively return proceeding binary digits
         return decimalToBinary(num / 2) + 0;
      }
   } else {
      // Exit condition
      return '';
   };
};
console.log(decimalToBinary(4));
console.log(decimalToBinary(1000));
console.log(decimalToBinary(8));

輸出

以下為控制檯輸出 -

100
1111101000
1000

更新日期: 2020-12-10

398 人瀏覽

開啟你的 職業

完成課程,獲得認證

立即開始
廣告
© . All rights reserved.