Given a HexaDecimal Number N, the task is to convert the number to its equivalent Binary Coded Decimal.
Examples:
Input: 11F
Output: 0001 0001 1111
Explanation:
Binary of 1 – 0001
Binary of F – 1111
Thus, Equivalent BCD is 0001 0001 1111
Input: A D
Output: 1010 1101
Explanation:
Binary of A – 1010
Binary of D – 1101
Thus, Equivalent BCD is 1010 1101
Approach: The idea is to iterate over each digit of the given Hexa-Decimal number and find the four digit Binary Equivalent of that digit. Finally, print all the converted digits one by one.
Below is the implementation of the above approach:
C++
// C++ implementation to convert the given // HexaDecimal number to its equivalent BCD. #include <bits/stdc++.h> using namespace std; // Function to convert // HexaDecimal to its BCD void HexaDecimaltoBCD(string s) { int len = s.length(), check = 0; int num = 0, sum = 0, mul = 1; // Iterating through the digits for ( int i = 0; i <= len - 1; i++) { // check whether s[i] is a character // or a integer between 0 to 9 // and compute its equivalent BCD if (s[i] >= 47 && s[i] <= 52) cout << bitset<4>(s[i]) << " " ; else cout << bitset<4>(s[i] - 55) << " " ; } } // Driver Code int main() { string s = "11F" ; // Function Call HexaDecimaltoBCD(s); return 0; } |
Java
// Java implementation to convert the given // HexaDecimal number to its equivalent BCD. public class Main { // Function to convert // HexaDecimal to its BCD public static void HexaDecimaltoBCD(String s) { int len = s.length(), check = 0 ; int num = 0 , sum = 0 , mul = 1 ; // Iterating through the digits for ( int i = 0 ; i <= len - 1 ; i++) { // check whether s[i] is a character // or a integer between 0 to 9 // and compute its equivalent BCD if (s.charAt(i) >= 47 && s.charAt(i) <= 52 ) { String result = Integer.toBinaryString(( int )s.charAt(i)); System.out.print(result.substring(result.length() - 4 ) + " " ); } else { String result = Integer.toBinaryString(( int )s.charAt(i) - 55 ); System.out.print(result.substring(result.length() - 4 ) + " " ); } } } public static void main(String[] args) { String s = "11F" ; // Function Call HexaDecimaltoBCD(s); } } // This code is contributed by divyesh072019 |
Python3
# Python3 program to convert the given # HexaDecimal number to its equivalent BCD # Function to convert # Haxadecimal to BCD def HexaDecimaltoBCD( str ): # Iterating through the digits for i in range ( len ( str )): # Conversion into equivalent BCD print ( "{0:04b}" . format ( int ( str [i], 16 )), end = " " ) # Driver code str = "11F" # Function call HexaDecimaltoBCD( str ) # This code is contributed by himanshu77 |
C#
// C# implementation to convert the given // HexaDecimal number to its equivalent BCD. using System; class GFG { // Function to convert // HexaDecimal to its BCD static void HexaDecimaltoBCD( string s) { int len = s.Length; // Iterating through the digits for ( int i = 0; i <= len - 1; i++) { // check whether s[i] is a character // or a integer between 0 to 9 // and compute its equivalent BCD if (s[i] >= 47 && s[i] <= 52) { string result = Convert.ToString(( int )s[i], 2); Console.Write(result.Substring(result.Length - 4) + " " ); } else { string result = Convert.ToString(( int )s[i] - 55, 2); Console.Write(result.Substring(result.Length - 4) + " " ); } } } static void Main() { string s = "11F" ; // Function Call HexaDecimaltoBCD(s); } } // This code is contributed by diyeshrabadiya07 |
0001 0001 1111
Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready.