Programa para convertir un Número Binario a Número Hexa-Decimal

Dado un número binario, la tarea es convertir este número binario en su número hexadecimal equivalente .
Ejemplos: 

Entrada: 100000101111 
Salida: 82F 
Explicación: 
Al dividir el número en partes de 4, se convierte en 1000 0010 1111
Aquí, 1000 es equivalente a 8
0010 es equivalente a 2
1111 es equivalente a F 
Por lo tanto, el número se convierte en 82F
Entrada: 10101101 
Salida: AD 
Explicación: 
Dividiendo el número en partes de 4, se convierte en 1010 1101
Aquí, 1010 es equivalente a A
1101 es equivalente aD.
Por lo tanto, el número se convierte en AD
 

Acercarse:  

  1. Divide el número binario dado en partes de 4 y comienza a calcular su forma hexadecimal equivalente .
  2. Almacene este número formado en un vector.
  3. Repita el proceso para todos los dígitos del número binario dado .
  4. Imprime los números almacenados en el vector en orden inverso.

A continuación se muestra la implementación del enfoque anterior:

C++

// C++ code to convert Binary to its
// HexaDecimal number(base 16).
 
// Including Header Files
#include <bits/stdc++.h>
using namespace std;
 
// Function to convert
// Binary to HexaDecimal
void bToHexaDecimal(string s)
{
    int len = s.length(), check = 0;
    int num = 0, sum = 0, mul = 1;
    vector<char> ans;
 
    // Iterating through
    // the bits backwards
    for (int i = len - 1; i >= 0; i--) {
        sum += (s[i] - '0') * mul;
        mul *= 2;
        check++;
 
        // Computing the HexaDecimal
        // Number formed so far
        // and storing it in a vector.
        if (check == 4 || i == 0) {
            if (sum <= 9)
                ans.push_back(sum + '0');
            else
                ans.push_back(sum + 55);
 
            // Reinitializing all
            // variables for next group.
            check = 0;
            sum = 0;
            mul = 1;
        }
    }
 
    len = ans.size();
 
    // Printing the Hexadecimal
    // number formed so far.
    for (int i = len - 1; i >= 0; i--)
        cout << ans[i];
}
 
// Driver Code
int main()
{
    string s = "100000101111";
 
    // Function Call
    bToHexaDecimal(s);
 
    return 0;
}

Java

// Java code to convert BCD to its
// HexaDecimal number(base 16).
// Including Header Files
import java.util.*;
class GFG{
 
// Function to convert
// BCD to HexaDecimal
static void bcdToHexaDecimal(char []s)
{
  int len = s.length, check = 0;
  int num = 0, sum = 0, mul = 1;
  Vector<Character> ans =
         new Vector<Character>();
 
  // Iterating through
  // the bits backwards
  for (int i = len - 1; i >= 0; i--)
  {
    sum += (s[i] - '0') * mul;
    mul *= 2;
    check++;
 
    // Computing the HexaDecimal
    // Number formed so far
    // and storing it in a vector.
    if (check == 4 || i == 0)
    {
      if (sum <= 9)
        ans.add((char) (sum + '0'));
      else
        ans.add((char) (sum + 55));
 
      // Reinitializing all
      // variables for next group.
      check = 0;
      sum = 0;
      mul = 1;
    }
  }
 
  len = ans.size();
 
  // Printing the Hexadecimal
  // number formed so far.
  for (int i = len - 1; i >= 0; i--)
    System.out.print(ans.get(i));
}
 
// Driver Code
public static void main(String[] args)
{
  String s = "100000101111";
 
  // Function Call
  bcdToHexaDecimal(s.toCharArray());
}
}
 
// This code is contributed by Princi Singh

Python3

# Python3 code to convert BCD to its
# hexadecimal number(base 16).
 
# Function to convert BCD to hexadecimal
def bcdToHexaDecimal(s):
     
    len1 = len(s)
    check = 0
    num = 0
    sum = 0
    mul = 1
    ans = []
 
    # Iterating through the bits backwards
    i = len1 - 1
     
    while(i >= 0):
        sum += (ord(s[i]) - ord('0')) * mul
        mul *= 2
        check += 1
 
        # Computing the hexadecimal number formed
        # so far and storing it in a vector.
        if (check == 4 or i == 0):
             
            if (sum <= 9):
                ans.append(chr(sum + ord('0')))
            else:
                ans.append(chr(sum + 55));
 
            # Reinitializing all variables
            # for next group.
            check = 0
            sum = 0
            mul = 1
         
        i -= 1
         
    len1 = len(ans)
 
    # Printing the hexadecimal
    # number formed so far.
    i = len1 - 1
     
    while(i >= 0):
        print(ans[i], end = "")
        i -= 1
 
# Driver Code
if __name__ == '__main__':
     
    s = "100000101111"
 
    # Function Call
    bcdToHexaDecimal(s)
 
# This code is contributed by Samarth

C#

// C# code to convert BCD to its
// HexaDecimal number(base 16).
// Including Header Files
using System;
using System.Collections.Generic;
class GFG{
 
// Function to convert
// BCD to HexaDecimal
static void bcdToHexaDecimal(char []s)
{
  int len = s.Length, check = 0;
  int num = 0, sum = 0, mul = 1;
  List<char> ans =
       new List<char>();
 
  // Iterating through
  // the bits backwards
  for (int i = len - 1; i >= 0; i--)
  {
    sum += (s[i] - '0') * mul;
    mul *= 2;
    check++;
 
    // Computing the HexaDecimal
    // Number formed so far
    // and storing it in a vector.
    if (check == 4 || i == 0)
    {
      if (sum <= 9)
        ans.Add((char) (sum + '0'));
      else
        ans.Add((char) (sum + 55));
 
      // Reinitializing all
      // variables for next group.
      check = 0;
      sum = 0;
      mul = 1;
    }
  }
 
  len = ans.Count;
 
  // Printing the Hexadecimal
  // number formed so far.
  for (int i = len - 1; i >= 0; i--)
    Console.Write(ans[i]);
}
 
// Driver Code
public static void Main(String[] args)
{
  String s = "100000101111";
 
  // Function Call
  bcdToHexaDecimal(s.ToCharArray());
}
}
 
// This code is contributed by 29AjayKumar

Javascript

<script>
// Javascript code to convert Binary to its
// HexaDecimal number(base 16).
 
// Including Header Files
 
 
// Function to convert
// Binary to HexaDecimal
function bToHexaDecimal(s) {
    let len = s.length, check = 0;
    let num = 0, sum = 0, mul = 1;
    let ans = new Array();
 
    // Iterating through
    // the bits backwards
    for (let i = len - 1; i >= 0; i--) {
        sum += (s[i].charCodeAt(0) - '0'.charCodeAt(0)) * mul;
        mul *= 2;
        check++;
 
        // Computing the HexaDecimal
        // Number formed so far
        // and storing it in a vector.
        if (check == 4 || i == 0) {
            if (sum <= 9)
                ans.push(String.fromCharCode(sum + '0'.charCodeAt(0)));
            else
                ans.push(String.fromCharCode(sum + 55));
 
            // Reinitializing all
            // variables for next group.
            check = 0;
            sum = 0;
            mul = 1;
        }
    }
 
    len = ans.length;
 
    // Printing the Hexadecimal
    // number formed so far.
    for (let i = len - 1; i >= 0; i--)
        document.write(ans[i]);
}
 
// Driver Code
 
let s = "100000101111";
 
// Function Call
bToHexaDecimal(s);
 
 
// This code is contributed by _saurabh_jaiswal
</script>
Producción: 

82F

 

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 *