Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> JavaScript

การแปลงทศนิยมเป็นทวินิยมหรือสิบหกสิบหกตามเงื่อนไขใน JavaScript

ปัญหา

เราต้องเขียนฟังก์ชัน JavaScript ที่รับตัวเลข n ฟังก์ชันควรแปลงตัวเลขเป็นทวินิยมหรือสิบหกสิบหกตามเงื่อนไข:

  • ถ้าตัวเลขเป็นเลขคู่ แปลงเป็นทวินิยม (binary)
  • ถ้าตัวเลขเป็นเลขคี่ แปลงเป็นสิบหกสิบหก (hexadecimal)

ตัวอย่าง

โค้ดตัวอย่างด้านล่าง:

const num = 1457;
const conditionalConvert = (num = 1) => {
  const isEven = num % 2 === 0;
  const toBinary = () => num.toString(2);
  const toHexadecimal = () => num.toString(16);
  return isEven
    ? toBinary()
    : toHexadecimal();
};
console.log(conditionalConvert(num));

ผลลัพธ์

5b1

คำอธิบายเพิ่มเติม

1457 เป็นเลขคี่ จึงแปลงเป็น hex: 5B1 (ตัวพิมพ์เล็ก) JavaScript toString(radix) รองรับ base 2-36 สามารถขยายได้สำหรับ base อื่นๆ