ในคอมพิวเตอร์ เลขฐานสอง (Binary) ใช้ฐาน 2 ส่วนเลขฐานสิบ (Decimal) ใช้ฐาน 10
| Decimal | Binary |
|---|---|
| 15 | 1111 |
| 10 | 1010 |
| 18 | 10010 |
| 27 | 11011 |
โปรแกรมแปลง 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) เพื่อให้ได้ลำดับบิตถูกต้อง