Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprende Desafío de Descifrado | Sistema Numérico Hexadecimal
Sistemas Numerales 101

Desliza para mostrar el menú

book
Desafío de Descifrado

Existe otro sistema numérico comúnmente utilizado llamado hexadecimal. Si aprendes programación web o algo relacionado, deberías encontrarte con la Tabla de Códigos de Colores RGB que se implementa usando hex (sistema hexadecimal) para ayudar a los ordenadores a definir diferentes colores. Rojo -> #FF0000 Blanco -> #FFFFFF Amarillo -> #FFFF00 y la misma representación para cada color.

El hexadecimal es una representación de 4 bits. Los profesionales de la informática incluso consideran que leer el número hexadecimal es más fácil que el decimal y el binario. Como dije anteriormente, es una forma hermosa de almacenar datos, no de manera binaria, sino agrupándolos; de ahí que se implemente el sistema numérico hexadecimal.

Este consta de 16 dígitos, 0->0 1->1 2->2 3->3 4->4 5->5 6->6 7->7 8->8 9->9. Supongo que comenzarías a conjeturar el resultado de esta secuencia e incluir el 10 como el décimo número de esta continuidad, pero te sorprenderás porque 10->A 11->B 12->C 13->D 14->E 15->F. Pero para convertirlo a decimal, deberías identificar el diccionario, debido a la razón de que los diccionarios son una forma superior de almacenar información con una clave. En los pasos anteriores todas las claves se conformaban por números, pero aquí debido a las letras se debería implementar un diccionario.

Regla

Supongo que estás familiarizado con diferentes algoritmos, así que me parece que puedes adivinar que aquí (en el sistema numérico hexadecimal) vamos a multiplicar cada dígito por 16 elevado a la potencia del índice. Obviamente, no podemos multiplicar la letra; por lo tanto, debemos encontrar la matemática para ello. Por ejemplo, ABC10 -> (A)10x16^4+(B)11x16^3+(C)12x16^2+1x16^1+0x16^0=655360+45056+3072+16+0=703504

123456789101112131415161718192021222324
# Implementing the dictionary dictionary = {"0": 0, "1": 1, "2": 2, "3": 3, "4": 4, "5": 5, "6": 6, "7": 7, "8": 8, "9": 9, "A": 10 , "B": 11, "C": 12, "D": 13, "E": 14, "F": 15} # Definig hexadecimal number hexadecimal_number = "ABC10" # The text should be realised here due to the reason that further the binary number will be changed print("The number in hexadecimal numeral system is:", hexadecimal_number) # Definig decimal number decimal_number = 0 # Define variable for storing the power power = 0 #the loop will iterate through the string hexadecimal_number for digit in hexadecimal_number: # Taking the very last character digit = hexadecimal_number[-1] # Multyplying the last digit to 16 raised the relevant power result = dictionary[digit] * pow(16, power) # Adding result to the decimal number decimal_number = decimal_number+result # Increasing power by 1 power = power + 1 # Removing the last sharacter of the string hexadecimal_number = hexadecimal_number[0:-1] # Printing the result print("The number in decimal numeral system is:", decimal_number)
copy
Tarea

Swipe to start coding

Aprecio tu deseo de estudiar, ¡así se hace! Escribe el código que decodificará el número 'CAFE' del sistema numérico hexadecimal a decimal. Sigue este algoritmo:

  1. Imprime el número hexadecimal.
  2. Asigna 0 a la variable numero_decimal.
  3. Define la variable potencia para almacenar la potencia y asigna 0 a ella.
  4. Define el bucle que itera a través de la cadena número hexadecimal.
  5. Obtén el último carácter de la cadena número hexadecimal.
  6. Eleva 16 a la potencia relevante y multiplícalo por el dígito.
  7. Aumenta potencia en 1.
  8. Elimina el último carácter de la cadena número hexadecimal.

Solución

Switch to desktopCambia al escritorio para practicar en el mundo realContinúe desde donde se encuentra utilizando una de las siguientes opciones
¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 3. Capítulo 1

Pregunte a AI

expand
ChatGPT

Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla

book
Desafío de Descifrado

Existe otro sistema numérico comúnmente utilizado llamado hexadecimal. Si aprendes programación web o algo relacionado, deberías encontrarte con la Tabla de Códigos de Colores RGB que se implementa usando hex (sistema hexadecimal) para ayudar a los ordenadores a definir diferentes colores. Rojo -> #FF0000 Blanco -> #FFFFFF Amarillo -> #FFFF00 y la misma representación para cada color.

El hexadecimal es una representación de 4 bits. Los profesionales de la informática incluso consideran que leer el número hexadecimal es más fácil que el decimal y el binario. Como dije anteriormente, es una forma hermosa de almacenar datos, no de manera binaria, sino agrupándolos; de ahí que se implemente el sistema numérico hexadecimal.

Este consta de 16 dígitos, 0->0 1->1 2->2 3->3 4->4 5->5 6->6 7->7 8->8 9->9. Supongo que comenzarías a conjeturar el resultado de esta secuencia e incluir el 10 como el décimo número de esta continuidad, pero te sorprenderás porque 10->A 11->B 12->C 13->D 14->E 15->F. Pero para convertirlo a decimal, deberías identificar el diccionario, debido a la razón de que los diccionarios son una forma superior de almacenar información con una clave. En los pasos anteriores todas las claves se conformaban por números, pero aquí debido a las letras se debería implementar un diccionario.

Regla

Supongo que estás familiarizado con diferentes algoritmos, así que me parece que puedes adivinar que aquí (en el sistema numérico hexadecimal) vamos a multiplicar cada dígito por 16 elevado a la potencia del índice. Obviamente, no podemos multiplicar la letra; por lo tanto, debemos encontrar la matemática para ello. Por ejemplo, ABC10 -> (A)10x16^4+(B)11x16^3+(C)12x16^2+1x16^1+0x16^0=655360+45056+3072+16+0=703504

123456789101112131415161718192021222324
# Implementing the dictionary dictionary = {"0": 0, "1": 1, "2": 2, "3": 3, "4": 4, "5": 5, "6": 6, "7": 7, "8": 8, "9": 9, "A": 10 , "B": 11, "C": 12, "D": 13, "E": 14, "F": 15} # Definig hexadecimal number hexadecimal_number = "ABC10" # The text should be realised here due to the reason that further the binary number will be changed print("The number in hexadecimal numeral system is:", hexadecimal_number) # Definig decimal number decimal_number = 0 # Define variable for storing the power power = 0 #the loop will iterate through the string hexadecimal_number for digit in hexadecimal_number: # Taking the very last character digit = hexadecimal_number[-1] # Multyplying the last digit to 16 raised the relevant power result = dictionary[digit] * pow(16, power) # Adding result to the decimal number decimal_number = decimal_number+result # Increasing power by 1 power = power + 1 # Removing the last sharacter of the string hexadecimal_number = hexadecimal_number[0:-1] # Printing the result print("The number in decimal numeral system is:", decimal_number)
copy
Tarea

Swipe to start coding

Aprecio tu deseo de estudiar, ¡así se hace! Escribe el código que decodificará el número 'CAFE' del sistema numérico hexadecimal a decimal. Sigue este algoritmo:

  1. Imprime el número hexadecimal.
  2. Asigna 0 a la variable numero_decimal.
  3. Define la variable potencia para almacenar la potencia y asigna 0 a ella.
  4. Define el bucle que itera a través de la cadena número hexadecimal.
  5. Obtén el último carácter de la cadena número hexadecimal.
  6. Eleva 16 a la potencia relevante y multiplícalo por el dígito.
  7. Aumenta potencia en 1.
  8. Elimina el último carácter de la cadena número hexadecimal.

Solución

Switch to desktopCambia al escritorio para practicar en el mundo realContinúe desde donde se encuentra utilizando una de las siguientes opciones
¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 3. Capítulo 1
Switch to desktopCambia al escritorio para practicar en el mundo realContinúe desde donde se encuentra utilizando una de las siguientes opciones
Lamentamos que algo salió mal. ¿Qué pasó?
some-alt