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

โปรแกรม C++ แปลงเลขฐานสิบ (Decimal) เป็นฐานสอง (Binary)


บทนำ

แปลงเลขฐานสิบ (Base 10) เป็นฐานสอง (Base 2, ใช้ 0 และ 1)

ขั้นตอน

  1. หารตัวเลขด้วย 2 เก็บเศษ (0 หรือ 1)
  2. หารผลหารด้วย 2 ซ้ำจนกว่าจะหารไม่ลง
  3. อ่านเศษจากล่างขึ้นบน

ตัวอย่าง

42 → 101010

ตัวอย่างโค้ด C++ (ใช้ Bitwise)

#include <iostream>
using namespace std;

void convert(int num) {
    for (int i = 31; i >= 0; i--) {
        int k = num >> i;
        if (k & 1)
            cout << "1";
        else
            cout << "0";
    }
}

int main() {
    int num = 42;
    convert(num);
    return 0;
}

ผลลัพธ์

00000000000000000000000000101010

หมายเหตุ: โค้ดแสดง 32 บิตเต็ม รวมศูนย์นำหน้า