Đượ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