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