使用JavaScript中的递归将十进制转换为二进制
我们需要编写一个以数字作为第一个也是唯一的参数的JavaScript函数。该函数应使用递归构造一个字符串,该字符串表示该数字的二进制符号。
例如-
f(4) = '100' f(1000) = '1111101000' f(8) = '1000'
示例
以下是代码-
const decimalToBinary = (num) => {
if(num >= 1) {
//如果num不能被2整除,则递归地返回过程
//num减1,的二进制数,剩下的1num加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