ในระบบคอมพิวเตอร์ เลขฐานสองจะแสดงในระบบเลขฐานสองในขณะที่เลขฐานสิบอยู่ในระบบเลขฐานสิบ เลขฐานสองอยู่ในฐาน 2 ในขณะที่เลขฐานสิบอยู่ในฐาน 10 ตัวอย่างของเลขฐานสิบและเลขฐานสองที่สอดคล้องกันมีดังนี้ -
| เลขทศนิยม | เลขฐานสอง |
|---|---|
| 15 | 01111 |
| 10 | 01010 |
| 18 | 10010 |
| 27 | 11011 |
โปรแกรมที่แปลงเลขฐานสิบเป็นเลขฐานสองมีดังนี้ -
ตัวอย่าง
#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
ในโปรแกรมข้างต้น ฟังก์ชัน DecimalToBinary มีค่าไบนารีของเลขฐานสิบ n และเก็บไว้ในอาร์เรย์ binaryNumber[] มีการใช้ลูป while และผลลัพธ์ของการดำเนินการ n โมดูลัส 2 จะถูกเก็บไว้ใน binaryNumber[] สำหรับการวนซ้ำแต่ละครั้งของลูป
ซึ่งแสดงโดยใช้ข้อมูลโค้ดต่อไปนี้
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];
ฟังก์ชัน main() มีเฉพาะฟังก์ชันที่เรียกไปยัง DecimalToBinary() สำหรับตัวเลขทศนิยมต่างๆ
ซึ่งแสดงในข้อมูลโค้ดต่อไปนี้
DecimalToBinary(15); DecimalToBinary(10); DecimalToBinary(18); DecimalToBinary(27);