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

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


ในคอมพิวเตอร์ เลขฐานสอง (Binary) ใช้ฐาน 2 ส่วนเลขฐานสิบ (Decimal) ใช้ฐาน 10

DecimalBinary
151111
101010
1810010
2711011

โปรแกรมแปลง Decimal เป็น Binary

#include <iostream>
using namespace std;

void DecimalToBinary(int n) {
    int binaryNumber[100], num = n;
    int i = 0;
    while (n > 0) {
        binaryNumber[i] = n % 2;
        n = n / 2;
        i++;
    }
    cout << "Binary form of " << num << " is ";
    for (int j = i - 1; j >= 0; j--)
        cout << binaryNumber[j];
    cout << endl;
}

int main() {
    DecimalToBinary(15);
    DecimalToBinary(10);
    DecimalToBinary(18);
    DecimalToBinary(27);
    return 0;
}

ผลลัพธ์

Binary form of 15 is 1111
Binary form of 10 is 1010
Binary form of 18 is 10010
Binary form of 27 is 11011

วิธีการ: ใช้ลูป while หารตัวเลขด้วย 2 ซ้ำๆ เก็บเศษ (0 หรือ 1) ลงอาร์เรย์ แล้วพิมพ์ย้อนกลับ (จาก index สุดท้ายไปหา 0) เพื่อให้ได้ลำดับบิตถูกต้อง