เราต้องเขียนฟังก์ชันแปลงตัวเลขฐานสิบเป็นสตริงฐานสองโดยใช้การเรียกซ้ำ (recursion)
ตัวอย่าง: f(4)='100', f(1000)='1111101000', f(8)='1000'
ตัวอย่างโค้ด
const decimalToBinary = (num) => {
if (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