Programa para convertir Número Hexa-Decimal a su equivalente BCD

Dado un número hexadecimal N , la tarea es convertir el número a su equivalente decimal codificado en binario .
Ejemplos: 
 

Entrada: 11F 
Salida: 0001 0001 1111 
Explicación: 
Binario de 1 – 0001 
Binario de F – 1111 
Por lo tanto, el equivalente BCD es 0001 0001 1111
Entrada: AD 
Salida: 1010 1101 
Explicación: 
Binario de A – 1010 
Binario de D – 1101 
Por lo tanto, equivalente BCD es 1010 1101 
 

Enfoque: La idea es iterar sobre cada dígito del número hexadecimal dado y encontrar el equivalente binario de cuatro dígitos de ese dígito. Finalmente, imprima todos los dígitos convertidos uno por uno.
A continuación se muestra la implementación del enfoque anterior: 
 

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

Javascript

// JavaScript implementation  to convert the given
// HexaDecimal number to its equivalent BCD.
 
// Function to convert
// HexaDecimal to its BCD
function HexaDecimaltoBCD(s)
{
    var len = s.length;
    var check = 0;
    var num = 0;
    var sum = 0;
    var mul = 1;
 
    // Iterating through the digits
    for (var i = 0; i < len; i++) {
 
        // check whether s[i] is a character
        // or a integer between 0 to 9
        // and compute its equivalent BCD
        if (s[i] >= '0' && s[i] <= '9') {
            var result
                = parseInt(s[i]).toString(2).padStart(4,
                                                      "0");
            process.stdout.write(result.substr(-4) + " ");
        }
        else {
            var result = (s[i].charCodeAt() - 55)
                             .toString(2)
                             .padStart(4, "0");
            process.stdout.write(result.substr(-4) + " ");
        }
    }
}
 
// Driver Code
var s = "11F";
 
// Function Call
HexaDecimaltoBCD(s);
 
// This code is contributed by phasing17
Producción: 

0001 0001 1111

 

Publicación traducida automáticamente

Artículo escrito por yashbeersingh42 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *