JavaScript 中使用递归进行十进制到二进制的转换
javascriptweb developmentfront end technologyobject oriented programming
我们需要编写一个 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