Related Articles

Related Articles

Program to convert Hexa-Decimal Number to its equivalent BCD
  • Last Updated : 14 Dec, 2020

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++

filter_none

edit
close

play_arrow

link
brightness_4
code

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

chevron_right


Java

filter_none

edit
close

play_arrow

link
brightness_4
code

// 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

chevron_right


Python3

filter_none

edit
close

play_arrow

link
brightness_4
code

# 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

chevron_right


C#

filter_none

edit
close

play_arrow

link
brightness_4
code

// 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

chevron_right


Output: 

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.




My Personal Notes arrow_drop_up
Recommended Articles
Page :