Computer >> Máy Tính >  >> Lập trình >> C ++

Chương trình C ++ để chuyển đổi số thập lục phân thành số nhị phân

Được đưa ra với số thập lục phân làm đầu vào, nhiệm vụ là chuyển đổi số thập lục phân đó thành số nhị phân.

Số thập lục phân trong máy tính được biểu diễn với cơ số 16 và số nhị phân được biểu thị với cơ số 2 vì nó chỉ có hai chữ số nhị phân 0 và 1 trong khi số thập lục phân có các chữ số bắt đầu từ 0 - 15 trong đó 10 được biểu thị là A, 11 là B, 12 là C, 13 là D, 14 là E và 15 là F.

Để chuyển đổi số thập lục phân thành số nhị phân, mỗi số được chuyển đổi thành số tương đương nhị phân của nó là 4 bit và sau đó các số này được kết hợp để tạo thành một số nhị phân tương ứng.

Ví dụ

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

Thuật toán

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

Ví dụ

#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;
}

Đầu ra

Equivalent Binary value is : 0001001000111011