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)
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:
- Imprime el
número hexadecimal
. - Asigna
0
a la variablenumero_decimal
. - Define la variable
potencia
para almacenar la potencia y asigna0
a ella. - Define el bucle que itera a través de la cadena
número hexadecimal
. - Obtén el último carácter de la cadena
número hexadecimal
. - Eleva
16
a lapotencia
relevante y multiplícalo por el dígito. - Aumenta
potencia
en 1. - Elimina el último carácter de la cadena
número hexadecimal
.
Solución
¡Gracias por tus comentarios!
single
Pregunte a AI
Pregunte a AI
Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla
Awesome!
Completion rate improved to 7.14
Desafío de Descifrado
Desliza para mostrar el menú
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)
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:
- Imprime el
número hexadecimal
. - Asigna
0
a la variablenumero_decimal
. - Define la variable
potencia
para almacenar la potencia y asigna0
a ella. - Define el bucle que itera a través de la cadena
número hexadecimal
. - Obtén el último carácter de la cadena
número hexadecimal
. - Eleva
16
a lapotencia
relevante y multiplícalo por el dígito. - Aumenta
potencia
en 1. - Elimina el último carácter de la cadena
número hexadecimal
.
Solución
¡Gracias por tus comentarios!
Awesome!
Completion rate improved to 7.14single