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

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


ด้วยตัวเลขฐานสิบหกเป็นอินพุต ภารกิจคือการแปลงเลขฐานสิบหกนั้นเป็นเลขฐานสอง

เลขฐานสิบหกในคอมพิวเตอร์จะแสดงด้วยฐาน 16 และเลขฐานสองจะแสดงด้วยฐาน 2 เนื่องจากมีเลขฐานสองเพียงสองหลัก 0 และ 1 ในขณะที่เลขฐานสิบหกมีตัวเลขเริ่มต้นจาก 0 – 15 โดยที่ 10 จะแสดงเป็น A, 11 เป็น B, 12 เป็น C, 13 เป็น D, 14 เป็น E และ 15 เป็น F.

ในการแปลงเลขฐานสิบหกเป็นเลขฐานสอง ทุกตัวเลขจะถูกแปลงเป็นเลขฐานสองที่เทียบเท่ากับ 4 บิต และหลังจากนั้นตัวเลขเหล่านี้จะรวมกันเป็นเลขฐานสองที่สอดคล้องกัน

ตัวอย่าง

Input-: 123B
   1 will have binary equivalent of 4 digit -: 0001
   2 will have binary equivalent of 4 digit -: 0010
   3 will have binary equivalent of 4 digit -: 0011
   B(11) will have binary equivalent of 4 digit -: 1011
Output-: 0001001000111011

อัลกอริทึม

Start
Step 1 -> declare function to convert Hexadecimal to Binary Number
   void convert(string hexa)
   Declare variable as long int i = 0
   Loop While(hexa[i])
      Use Switch (hexa[i])
         case '0':
            print "0000"
            break;
         case '1':
            print "0001"
            break;
         case '2':
            print "0010"
            break;
         case '3':
            print "0011"
            break;
         case '4':
            print "0100”
            break;
         case '5':
            print "0101"
            break;
         case '6':
            print "0110"
            break;
         case '7':
            print "0111"
            break;
         case '8':
            print "1000"
            break;
         case '9':
            print "1001"
            break;
         case 'A':
         case 'a':
            print "1010"
            break;
         case 'B':
         case 'b':
            print "1011"
            break;
         case 'C':
         case 'c':
            print "1100"
            break;
         case 'D':
         case 'd':
            print "1101"
            break;
         case 'E':
         case 'e':
            print "1110"
            break;
         case 'F':
         case 'f':
            print "111"
            break;
         default:
            print please enter valid hexadecimal digit
         End
      i++
   End
Step 2 -> In main()
   Declare string hexa = "123B"
   Print convert(hexa);
Stop

ตัวอย่าง

#include <bits/stdc++.h>
#include<string.h>
using namespace std;
// convert Hexadecimal to Binary Number
void convert(string hexa){
   long int i = 0;
   while (hexa[i]){
      switch (hexa[i]){
      case '0':
         cout << "0000";
         break;
      case '1':
         cout << "0001";
         break;
      case '2':
         cout << "0010";
         break;
      case '3':
         cout << "0011";
         break;
      case '4':
         cout << "0100";
         break;
      case '5':
         cout << "0101";
         break;
      case '6':
         cout << "0110";
         break;
      case '7':
         cout << "0111";
         break;
      case '8':
         cout << "1000";
         break;
      case '9':
         cout << "1001";
         break;
      case 'A':
      case 'a':
         cout << "1010";
         break;
      case 'B':
      case 'b':
         cout << "1011";
         break;
      case 'C':
      case 'c':
         cout << "1100";
         break;
      case 'D':
      case 'd':
         cout << "1101";
         break;
      case 'E':
      case 'e':
         cout << "1110";
         break;
      case 'F':
      case 'f':
         cout << "1111";
         break;
      default:
         cout << "\please enter valid hexadecimal digit "<< hexa[i];
      }
   i++;
   }
}
int main(){
   string hexa = "123B";
   cout << "\nEquivalent Binary value is : ";
      convert(hexa);
   return 0;
}

ผลลัพธ์

Equivalent Binary value is : 0001001000111011