ด้วยตัวเลขฐานสิบหกเป็นอินพุต ภารกิจคือการแปลงเลขฐานสิบหกนั้นเป็นเลขฐานสอง
เลขฐานสิบหกในคอมพิวเตอร์จะแสดงด้วยฐาน 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