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 y
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 y
1101 es equivalente aD. _
Por lo tanto, el número se convierte en AD .
Acercarse:
- Divide el número binario dado en partes de 4 y comienza a calcular su forma hexadecimal equivalente .
- Almacene este número formado en un vector.
- Repita el proceso para todos los dígitos del número binario dado .
- 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>
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