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

โปรแกรม C++ แปลงเลขฐานสิบเป็นไบนารี


ในระบบคอมพิวเตอร์ เลขฐานสองจะแสดงในระบบเลขฐานสองในขณะที่เลขฐานสิบอยู่ในระบบเลขฐานสิบ เลขฐานสองอยู่ในฐาน 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);