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

 `// C++ implementation  to convert the given``// HexaDecimal number to its equivalent BCD.` `#include ``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`
Output:
`0001 0001 1111`

Attention reader! Don’t stop learning now. Get hold of all the important mathematical concepts for competitive programming with the Essential Maths for CP Course at a student-friendly price. To complete your preparation from learning a language to DS Algo and many more,  please refer Complete Interview Preparation Course.

My Personal Notes arrow_drop_up