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

แปลง Decimal เป็น Binary ใน Python

โจทย์: แปลงเลขฐานสิบเป็นเลขฐานสอง (Binary)

วิธีที่ 1: Recursive

def DecimalToBinary(num):
    if num > 1:
        DecimalToBinary(num // 2)
    print(num % 2, end='')

# ทดสอบ
DecimalToBinary(56)  # Output: 111000

วิธีที่ 2: ใช้ bin() built-in (แนะนำ)

def decimalToBinary(n):
    return bin(n).replace("0b", "")

print(decimalToBinary(56))  # Output: 111000

วิธีเพิ่มเติม: format()

def decimalToBinary(n):
    return format(n, 'b')

print(decimalToBinary(56))  # Output: 111000

เปรียบเทียบ

  • Recursive: เข้าใจหลักการ, เหมาะการศึกษา
  • bin(): เร็วที่สุด, Pythonic, คืนค่า string
  • format(): ยืดหยุ่น (padding, alignment)

หมายเหตุ: บทความต้นฉบับมีข้อความ Conclusion ผิด (กล่าวถึง list to string) ข้อความข้างต้นแก้ไขแล้ว