在 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
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
JavaScript
PHP