Desafio de Decifração
Existe outro sistema numérico comumente usado chamado hexadecimal. Se você aprender programação web ou algo relacionado, deve se deparar com a Tabela de Códigos de Cores RGB que é implementada usando hex (sistema hexadecimal) para ajudar os computadores a definirem diferentes cores. Vermelho -> #FF0000 Branco -> #FFFFFF Amarelo -> #FFFF00 e a mesma representação para cada cor.
Hex é uma representação de 4 bits. Profissionais de informática até consideram a leitura de números hexadecimais mais fácil do que os decimais e binários. Como eu disse anteriormente, é uma forma bela de armazenar dados não de maneira binária, mas agrupando-os; por isso, o sistema numérico hexadecimal é implementado.
Este consiste em 16 dígitos, 0->0 1->1 2->2 3->3 4->4 5->5 6->6 7->7 8->8 9->9. Eu suponho que você comece a adivinhar o resultado desta sequência e inclua o 10 como o décimo número desta continuidade, mas você ficará surpreso porque 10->A 11->B 12->C 13->D 14->E 15->F Mas para convertê-lo em decimal, você deve identificar o dicionário, devido ao motivo de que dicionários são uma maneira superior de armazenar informações com uma chave. Nos passos anteriores, todas as chaves conformavam-se a números, mas aqui devido às letras um dicionário deve ser implementado.
Regra
Suponho que você esteja familiarizado com diferentes algoritmos, então parece-me que você pode adivinhar que aqui (no sistema numérico hexadecimal) vamos multiplicar cada dígito por 16 elevado à potência do índice. Obviamente, não podemos multiplicar a letra; portanto, devemos encontrar a matemática para isso. Por exemplo, 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 seu desejo de estudar, continue assim! Escreva o código que irá decodificar o número 'CAFE' do sistema numérico hexadecimal para decimal. Siga este algoritmo:
- Imprima o
número hexadecimal. - Atribua
0à variáveldecimal_number. - Defina a variável
powerpara armazenar a potência e atribua0a ela. - Defina o loop que itera pela string
hexadecimal_number. - Pegue o último caractere da string
hexadecimal_number. - Eleve
16aopowerrelevante e multiplique pelo dígito. - Aumente
powerem 1. - Remova o último caractere da string
hexadecimal_number.
Solução
Obrigado pelo seu feedback!
single
Pergunte à IA
Pergunte à IA
Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo
Resumir este capítulo
Explicar o código em file
Explicar por que file não resolve a tarefa
Awesome!
Completion rate improved to 7.14
Desafio de Decifração
Deslize para mostrar o menu
Existe outro sistema numérico comumente usado chamado hexadecimal. Se você aprender programação web ou algo relacionado, deve se deparar com a Tabela de Códigos de Cores RGB que é implementada usando hex (sistema hexadecimal) para ajudar os computadores a definirem diferentes cores. Vermelho -> #FF0000 Branco -> #FFFFFF Amarelo -> #FFFF00 e a mesma representação para cada cor.
Hex é uma representação de 4 bits. Profissionais de informática até consideram a leitura de números hexadecimais mais fácil do que os decimais e binários. Como eu disse anteriormente, é uma forma bela de armazenar dados não de maneira binária, mas agrupando-os; por isso, o sistema numérico hexadecimal é implementado.
Este consiste em 16 dígitos, 0->0 1->1 2->2 3->3 4->4 5->5 6->6 7->7 8->8 9->9. Eu suponho que você comece a adivinhar o resultado desta sequência e inclua o 10 como o décimo número desta continuidade, mas você ficará surpreso porque 10->A 11->B 12->C 13->D 14->E 15->F Mas para convertê-lo em decimal, você deve identificar o dicionário, devido ao motivo de que dicionários são uma maneira superior de armazenar informações com uma chave. Nos passos anteriores, todas as chaves conformavam-se a números, mas aqui devido às letras um dicionário deve ser implementado.
Regra
Suponho que você esteja familiarizado com diferentes algoritmos, então parece-me que você pode adivinhar que aqui (no sistema numérico hexadecimal) vamos multiplicar cada dígito por 16 elevado à potência do índice. Obviamente, não podemos multiplicar a letra; portanto, devemos encontrar a matemática para isso. Por exemplo, 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 seu desejo de estudar, continue assim! Escreva o código que irá decodificar o número 'CAFE' do sistema numérico hexadecimal para decimal. Siga este algoritmo:
- Imprima o
número hexadecimal. - Atribua
0à variáveldecimal_number. - Defina a variável
powerpara armazenar a potência e atribua0a ela. - Defina o loop que itera pela string
hexadecimal_number. - Pegue o último caractere da string
hexadecimal_number. - Eleve
16aopowerrelevante e multiplique pelo dígito. - Aumente
powerem 1. - Remova o último caractere da string
hexadecimal_number.
Solução
Obrigado pelo seu feedback!
single