Cómo calcular el número 50 usando números binarios

La otra forma de “resolverlo usando números binarios” es ver las operaciones desde el punto de vista de la computadora, que en realidad es la que “usa” números binarios.

Las respuestas a esta pregunta dada hasta ahora, ilustran cómo un algoritmo puede tomar el número (50, en el ejemplo) en la representación binaria interna de la computadora, y calcular una cadena de dígitos que mostrará este valor en binario.

El siguiente algoritmo hace lo contrario, es decir, tomar un número, que es una cadena de dígitos decimales, como su entrada, y convertirlo a la representación interna (binaria) de la computadora:

0) Establezca un puntero, o índice, a los dígitos del número [decimal] a ser resuelto. Digamos, un valor 0 apunta al primer dígito del número, un valor 1 apunta al segundo dígito, y así sucesivamente.

1) Inicialice este puntero a 0.

2) Inicializar una suma a 0.

3) Tome el número binario que representa el dígito señalado por su índice y agréguelo a la suma.

Debe saber y poder buscar o calcular los valores binarios de cada uno de los diez dígitos decimales. (Los detalles sobre la mejor manera de hacer esto varían con el lenguaje de programación utilizado).

0 = 0000
1 = 0001
2 = 0010
3 = 0011
4 = 0100
5 = 0101
6 = 0110
7 = 0111
8 = 1000
9 = 1001

4) Si quedan más dígitos del número, incremente el puntero por 1, multiplique la Suma por diez [decimal, que es 1010 binario] y regrese al paso 3.

5) Si no quedan más dígitos, pare. El resultado resuelto está en la suma.

Los siguientes ejemplos muestran un rastro de los pasos del algoritmo a medida que se ejecuta.

Ejemplo 1: numeral = “50”

suma de dígitos del puntero de paso, después de este paso
1 0 “5” n / a
2 0 “5” 00000000
3 0 “5” 00000101
4 1 “0” 00110010
3 1 “0” 00110010
5 1 “0” 00110010

La computadora ahora contiene el valor 50, representado en su representación binaria interna, que es 00110010.

Ejemplo 2: numeral = “132”

suma de dígitos del puntero de paso, después de este paso
1 0 “1” n / a
2 0 “1” 00000000
3 0 “1” 00000001
4 1 “3” 00001010
3 1 “3” 00001101
4 2 “2” 10000010
3 2 “2” 10000100
5 2 “2” 10000100

La computadora ahora contiene el valor 132, representado en su representación binaria interna, que es 10000100.

Sin resolverlo por ti, aquí hay un método que funcionará.

Divide tu número objetivo entre 2 para obtener 2 cosas, un nuevo objetivo y un resto de cero o 1.

Escribe el resto abajo. Si este es su primer ciclo, el resto se convierte en el dígito más a la derecha de su número binario. Sin embargo, si este NO es su primer bucle, el resto debe escribirse justo a la izquierda de su (s) resto (s) anterior (es).

Repita los 2 pasos anteriores hasta que su objetivo se convierta en cero. En ese punto, ya ha terminado y sus restos estarán compuestos de todos los 1 y 0, que es cómo debería verse un número binario.

primer diseño de una mesa:

128, 64, 32, 16, 8, 4, 2,1

Esta es una tabla que contiene 8 bits, y sabemos en binario que cada bit puede ser 0 o 1

Entonces calcula cuál de estos bits se suma al número que desea, de izquierda a derecha.

Entonces 32 + 16 + 2 = 50

Enciendes los bits correspondientes,

Y obtienes:

0 0 1 1 0 0 1 0

La forma más fácil es seguir dividiendo entre 2 y tomar el resto, como han sugerido otros. El siguiente video explica cómo y por qué esto funciona y presenta algunos ejemplos: