在 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
广告