Contenido del Curso
Sistemas Numerales 101
Sistemas Numerales 101
Práctica de Cifrado
Hasta aquí todo bien 😉.
Como ya sabes convertir números decimales a binarios, un paso útil es aprender a realizar la acción contraria. Como ya te has familiarizado con los pasos anteriores este no va a ser un reto para ti.
1 en código binario sigue siendo uno, 0 sigue siendo cero, pero aquí tienes 8 números así que 9 deben ser convertidos correctamente 0->0
1->1
2->2
3->3
4->4
5->5
6->6
7->7
.En el ejemplo, definimos 1234 como un número decimal.
- Tienes que dividir el número entre 8 y anotar el resto de la división.
- Luego debes calcular el número recibido y aplicarle el primer paso.
- Puedes detenerte si la división da como resultado 0.
- Vuelva a escribir los restos en el orden inverso.
Como ya hemos dicho, cuanta más práctica, mejor. Aquí vas a realizar una tarea compleja en la que trabajarás no sólo con una lista de números convertidos, sino con una cadena de caracteres: esto significa que no sólo debes añadir los restos, sino convertirlos primero en cadenas de caracteres. Intenta hacer la tarea para ver bellas representaciones en cadena.
# Defininig the decimal number decimal_number = 4321 # Creating a list for storing the converted binary number octal_number = [ ] # The text should be realised here due to the reason that further the decimal number will be changed print("The number in decimal numeral system is:", decimal_number) # Check if the decimal number is zero: further we will convert it till the number is zero if decimal_number == 0: # 0 in the octal numeral system is the representation of 0 in decimal one, so we append 0 to the list of the octal numbers octal_number.append(str(0)) #otherwise else: # The loop executes till the number is zero while decimal_number != 0: # Counting the remainder of dividing by eight remainder = decimal_number % 8 # Appending the converted remainder for creating an octal representation octal_number.append(str(remainder)) # This operation allows to decrease number eight times and work with the integer part of new one decimal_number = decimal_number//8 # Reversing the string octal_number = octal_number[::-1] # Joining all items of the string to make it more readable octal_number = " ".join(octal_number) # Printing the result print("The number in octal numeral system is:", octal_number)
Tarea
Escribe el código que decodificará el número 3196 del sistema numérico decimal al octal. Rellena los huecos y sigue el algoritmo. Si todo es correcto recibirás otro número especial 🤯, la explicación te espera al final del capítulo.
- Define una lista vacía para almacenar el
número_octal
. - Imprime la variable
número_decimal
. - Comprueba si la variable
número_decimal
es0
. - Añade
0
si la variabledecimal_number
es0
. - Definir el bucle que funciona mientras
decimal_number
no es0
. - Contar el resto de la división
número_decimal
por8
. - Añadir el
resto
convertido a la lista denúmeros octales
. - Disminuir
número_decimal
usando la división entera entre8
. - Hacer la cadena de
números octales
invertida.
Nota
Seguro que has recibido 6174. Esto es un Kaprekar's y se llama así por el matemático D.R. Kaprekar.Intenta hacer el cálculo simple con un número que conste de al menos dos dígitos diferentes: 5678, por ejemplo. Primero escribe este número en orden descendente y ascendente y réstalo:
8765-5678 = 3087
, luego haremos lo mismo, pero con el número3087
8730 - 0378 = 8352
, lo mismo aquí8532 - 2358 = 6174
7641 - 1467 = 6774
. Puedes aplicar el mismo algoritmo a diferentes números y obtendrás 6174 cada vez.
¡Gracias por tus comentarios!
Práctica de Cifrado
Hasta aquí todo bien 😉.
Como ya sabes convertir números decimales a binarios, un paso útil es aprender a realizar la acción contraria. Como ya te has familiarizado con los pasos anteriores este no va a ser un reto para ti.
1 en código binario sigue siendo uno, 0 sigue siendo cero, pero aquí tienes 8 números así que 9 deben ser convertidos correctamente 0->0
1->1
2->2
3->3
4->4
5->5
6->6
7->7
.En el ejemplo, definimos 1234 como un número decimal.
- Tienes que dividir el número entre 8 y anotar el resto de la división.
- Luego debes calcular el número recibido y aplicarle el primer paso.
- Puedes detenerte si la división da como resultado 0.
- Vuelva a escribir los restos en el orden inverso.
Como ya hemos dicho, cuanta más práctica, mejor. Aquí vas a realizar una tarea compleja en la que trabajarás no sólo con una lista de números convertidos, sino con una cadena de caracteres: esto significa que no sólo debes añadir los restos, sino convertirlos primero en cadenas de caracteres. Intenta hacer la tarea para ver bellas representaciones en cadena.
# Defininig the decimal number decimal_number = 4321 # Creating a list for storing the converted binary number octal_number = [ ] # The text should be realised here due to the reason that further the decimal number will be changed print("The number in decimal numeral system is:", decimal_number) # Check if the decimal number is zero: further we will convert it till the number is zero if decimal_number == 0: # 0 in the octal numeral system is the representation of 0 in decimal one, so we append 0 to the list of the octal numbers octal_number.append(str(0)) #otherwise else: # The loop executes till the number is zero while decimal_number != 0: # Counting the remainder of dividing by eight remainder = decimal_number % 8 # Appending the converted remainder for creating an octal representation octal_number.append(str(remainder)) # This operation allows to decrease number eight times and work with the integer part of new one decimal_number = decimal_number//8 # Reversing the string octal_number = octal_number[::-1] # Joining all items of the string to make it more readable octal_number = " ".join(octal_number) # Printing the result print("The number in octal numeral system is:", octal_number)
Tarea
Escribe el código que decodificará el número 3196 del sistema numérico decimal al octal. Rellena los huecos y sigue el algoritmo. Si todo es correcto recibirás otro número especial 🤯, la explicación te espera al final del capítulo.
- Define una lista vacía para almacenar el
número_octal
. - Imprime la variable
número_decimal
. - Comprueba si la variable
número_decimal
es0
. - Añade
0
si la variabledecimal_number
es0
. - Definir el bucle que funciona mientras
decimal_number
no es0
. - Contar el resto de la división
número_decimal
por8
. - Añadir el
resto
convertido a la lista denúmeros octales
. - Disminuir
número_decimal
usando la división entera entre8
. - Hacer la cadena de
números octales
invertida.
Nota
Seguro que has recibido 6174. Esto es un Kaprekar's y se llama así por el matemático D.R. Kaprekar.Intenta hacer el cálculo simple con un número que conste de al menos dos dígitos diferentes: 5678, por ejemplo. Primero escribe este número en orden descendente y ascendente y réstalo:
8765-5678 = 3087
, luego haremos lo mismo, pero con el número3087
8730 - 0378 = 8352
, lo mismo aquí8532 - 2358 = 6174
7641 - 1467 = 6774
. Puedes aplicar el mismo algoritmo a diferentes números y obtendrás 6174 cada vez.
¡Gracias por tus comentarios!
Práctica de Cifrado
Hasta aquí todo bien 😉.
Como ya sabes convertir números decimales a binarios, un paso útil es aprender a realizar la acción contraria. Como ya te has familiarizado con los pasos anteriores este no va a ser un reto para ti.
1 en código binario sigue siendo uno, 0 sigue siendo cero, pero aquí tienes 8 números así que 9 deben ser convertidos correctamente 0->0
1->1
2->2
3->3
4->4
5->5
6->6
7->7
.En el ejemplo, definimos 1234 como un número decimal.
- Tienes que dividir el número entre 8 y anotar el resto de la división.
- Luego debes calcular el número recibido y aplicarle el primer paso.
- Puedes detenerte si la división da como resultado 0.
- Vuelva a escribir los restos en el orden inverso.
Como ya hemos dicho, cuanta más práctica, mejor. Aquí vas a realizar una tarea compleja en la que trabajarás no sólo con una lista de números convertidos, sino con una cadena de caracteres: esto significa que no sólo debes añadir los restos, sino convertirlos primero en cadenas de caracteres. Intenta hacer la tarea para ver bellas representaciones en cadena.
# Defininig the decimal number decimal_number = 4321 # Creating a list for storing the converted binary number octal_number = [ ] # The text should be realised here due to the reason that further the decimal number will be changed print("The number in decimal numeral system is:", decimal_number) # Check if the decimal number is zero: further we will convert it till the number is zero if decimal_number == 0: # 0 in the octal numeral system is the representation of 0 in decimal one, so we append 0 to the list of the octal numbers octal_number.append(str(0)) #otherwise else: # The loop executes till the number is zero while decimal_number != 0: # Counting the remainder of dividing by eight remainder = decimal_number % 8 # Appending the converted remainder for creating an octal representation octal_number.append(str(remainder)) # This operation allows to decrease number eight times and work with the integer part of new one decimal_number = decimal_number//8 # Reversing the string octal_number = octal_number[::-1] # Joining all items of the string to make it more readable octal_number = " ".join(octal_number) # Printing the result print("The number in octal numeral system is:", octal_number)
Tarea
Escribe el código que decodificará el número 3196 del sistema numérico decimal al octal. Rellena los huecos y sigue el algoritmo. Si todo es correcto recibirás otro número especial 🤯, la explicación te espera al final del capítulo.
- Define una lista vacía para almacenar el
número_octal
. - Imprime la variable
número_decimal
. - Comprueba si la variable
número_decimal
es0
. - Añade
0
si la variabledecimal_number
es0
. - Definir el bucle que funciona mientras
decimal_number
no es0
. - Contar el resto de la división
número_decimal
por8
. - Añadir el
resto
convertido a la lista denúmeros octales
. - Disminuir
número_decimal
usando la división entera entre8
. - Hacer la cadena de
números octales
invertida.
Nota
Seguro que has recibido 6174. Esto es un Kaprekar's y se llama así por el matemático D.R. Kaprekar.Intenta hacer el cálculo simple con un número que conste de al menos dos dígitos diferentes: 5678, por ejemplo. Primero escribe este número en orden descendente y ascendente y réstalo:
8765-5678 = 3087
, luego haremos lo mismo, pero con el número3087
8730 - 0378 = 8352
, lo mismo aquí8532 - 2358 = 6174
7641 - 1467 = 6774
. Puedes aplicar el mismo algoritmo a diferentes números y obtendrás 6174 cada vez.
¡Gracias por tus comentarios!
Hasta aquí todo bien 😉.
Como ya sabes convertir números decimales a binarios, un paso útil es aprender a realizar la acción contraria. Como ya te has familiarizado con los pasos anteriores este no va a ser un reto para ti.
1 en código binario sigue siendo uno, 0 sigue siendo cero, pero aquí tienes 8 números así que 9 deben ser convertidos correctamente 0->0
1->1
2->2
3->3
4->4
5->5
6->6
7->7
.En el ejemplo, definimos 1234 como un número decimal.
- Tienes que dividir el número entre 8 y anotar el resto de la división.
- Luego debes calcular el número recibido y aplicarle el primer paso.
- Puedes detenerte si la división da como resultado 0.
- Vuelva a escribir los restos en el orden inverso.
Como ya hemos dicho, cuanta más práctica, mejor. Aquí vas a realizar una tarea compleja en la que trabajarás no sólo con una lista de números convertidos, sino con una cadena de caracteres: esto significa que no sólo debes añadir los restos, sino convertirlos primero en cadenas de caracteres. Intenta hacer la tarea para ver bellas representaciones en cadena.
# Defininig the decimal number decimal_number = 4321 # Creating a list for storing the converted binary number octal_number = [ ] # The text should be realised here due to the reason that further the decimal number will be changed print("The number in decimal numeral system is:", decimal_number) # Check if the decimal number is zero: further we will convert it till the number is zero if decimal_number == 0: # 0 in the octal numeral system is the representation of 0 in decimal one, so we append 0 to the list of the octal numbers octal_number.append(str(0)) #otherwise else: # The loop executes till the number is zero while decimal_number != 0: # Counting the remainder of dividing by eight remainder = decimal_number % 8 # Appending the converted remainder for creating an octal representation octal_number.append(str(remainder)) # This operation allows to decrease number eight times and work with the integer part of new one decimal_number = decimal_number//8 # Reversing the string octal_number = octal_number[::-1] # Joining all items of the string to make it more readable octal_number = " ".join(octal_number) # Printing the result print("The number in octal numeral system is:", octal_number)
Tarea
Escribe el código que decodificará el número 3196 del sistema numérico decimal al octal. Rellena los huecos y sigue el algoritmo. Si todo es correcto recibirás otro número especial 🤯, la explicación te espera al final del capítulo.
- Define una lista vacía para almacenar el
número_octal
. - Imprime la variable
número_decimal
. - Comprueba si la variable
número_decimal
es0
. - Añade
0
si la variabledecimal_number
es0
. - Definir el bucle que funciona mientras
decimal_number
no es0
. - Contar el resto de la división
número_decimal
por8
. - Añadir el
resto
convertido a la lista denúmeros octales
. - Disminuir
número_decimal
usando la división entera entre8
. - Hacer la cadena de
números octales
invertida.
Nota
Seguro que has recibido 6174. Esto es un Kaprekar's y se llama así por el matemático D.R. Kaprekar.Intenta hacer el cálculo simple con un número que conste de al menos dos dígitos diferentes: 5678, por ejemplo. Primero escribe este número en orden descendente y ascendente y réstalo:
8765-5678 = 3087
, luego haremos lo mismo, pero con el número3087
8730 - 0378 = 8352
, lo mismo aquí8532 - 2358 = 6174
7641 - 1467 = 6774
. Puedes aplicar el mismo algoritmo a diferentes números y obtendrás 6174 cada vez.