Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

16진수를 2진수로 변환하는 C++ 프로그램

<시간/>

16진수를 입력받아 16진수를 2진수로 변환하는 작업입니다.

컴퓨터의 16진수는 16진법으로 표시되고 2진법은 2진법 0과 1의 두 자리만 있기 때문에 2진법으로 표시되는 반면, 16진법은 0에서 15 사이의 숫자로 시작하여 10은 A, 11은 B, 12로 표시됩니다. C, 13 D, 14 E, 15 F.

16진수를 2진수로 변환하려면 모든 숫자를 4비트에 해당하는 2진수로 변환한 다음 이 숫자를 결합하여 해당하는 하나의 2진수를 형성합니다.

예시

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