La parte principal del programa dado es la conversión de caracteres a enteros y viceversa.
En la primera parte del programa, recibimos una cadena de 0 y 1. Luego lo convertimos en números enteros de 0 y 1 (verifique las conversiones ASCII: las conversiones de entero a carácter y de entero a entero tienen lugar sumando / restando 48 del valor dado)
En la segunda parte, convertimos el número binario obtenido en número hexadecimal. Para hacer esto, debemos seleccionar los números binarios como un grupo de cuatro. Cada uno de estos cuatro números luego se convierte en decimal. Si es menor que el número 10 (Entero), al sumar 48 conviértalo en una forma de caracteres equivalente. Si el número es mayor o igual a 10, entonces debe representarse como caracteres correspondientes, como A, B, C, etc. Para hacer esto, encontramos la diferencia entre esos caracteres y el número obtenido correspondiente en ASCII. Eso es 55. Entonces se agrega 55 y convierte el número dado en la representación de caracteres. Esta representación de caracteres es equivalente a la representación hexadecimal requerida de un número binario dado.
PD: puede obtener fácilmente el valor 48 y 55 utilizando la siguiente expresión.
val = ‘1’-1; // en C / C ++
val = ‘A’-10;
Esto significa el carácter 1 menos el entero 1. Es 48 en ASCII. La segunda línea significa el carácter A menos el entero 10. (porque A significa 10 en hexadecimal)
¿Cómo se puede explicar el algoritmo para la conversión de un número binario a un hexadecimal (código fuente incluido)?
Related Content
Cómo visualizar algunas estructuras de datos básicos y algoritmos
Conozco estructuras de datos y algoritmos. ¿Cómo programo un compilador simple?
Tengo un muy buen conocimiento de C ¿Debo continuar con estructuras de datos o comenzar con C ++?
More Interesting
¿Cómo podemos predecir el género de un bebé mediante algoritmos de redes neuronales?
¿Está bien mi implementación de Búsqueda ternaria?
¿Cómo funciona el algoritmo de vista en Quora?
¿Qué algoritmos avanzados usa un sitio como Facebook?
¿Es adecuado usar un algoritmo de hash perceptual para desarrollar un motor de búsqueda de imágenes?
¿Cuál es la habilidad más importante para desarrollar en algoritmos?
¿Le da un algoritmo no recursivo que realiza un trabajo de árbol de orden?
¿Cuál es el mejor método de clasificación para usar si solo un elemento está fuera de servicio?
Algoritmos: ¿Cómo decide si usar BFS o DFS para un problema en particular?
¿Cuál es la forma correcta de leer CLRS (Introducción a los algoritmos)?