2 votos

¿Qué estoy haciendo mal al multiplicar números binarios juntos?

Esto es de Matemáticas discretas y sus aplicaciones enter image description here

Pude conseguir la suma con bastante facilidad.

Estoy tratando de seguir este ejemplo del libro para obtener el producto de los dos números binarios enter image description here

Aquí está mi trabajo hasta ahora enter image description here

Obtuve la salida esperada de mi aplicación de Windows de la calculadora. ¿Alguien ve cuál es el problema? El problema empieza cuando no consigo 7 ceros separando los dos primeros unos. ¿Qué haría con el resultado final, 8? Todavía no estoy seguro de ello.

4voto

DanSingerman Puntos 111

Bien, pongamos un ejemplo sencillo: supongamos que quieres añadir $(111)_2 + (111)_2 + (111)_2$ . En primer lugar, todas las cargas se escribirán en binario, y no en decimal. Aquí es cómo usted debe hacer eso:

        1
Carry: 1101         
         111
        +111
        +111
        ----
       10101

Explicación: En la columna más a la derecha, se añade primero $1+1+1=11_2$ . Así que anota 1 en la línea de resultados y anota $1$ como la primera vez que la llevas.
A continuación, se añade $1+1+1+1=100_2$ Por lo tanto, escribe uno $0$ en la línea de resultado, y tienes un carry de $10$ . Para manejar esa carga, puedes simplemente escribir $10$ en el arrastre de dos columnas (es decir, el 0 estará por encima de una columna, y el de la columna de la izquierda).
La siguiente adición es $0+1+1+1=11_2$ así que una vez más escribes $1$ en la línea de resultados y llevar $1$ (que escribí por encima de la $1$ del anterior $10$ ) y el resto es fácil.

2voto

Daniel W. Farlow Puntos 13470

Una forma muy fácil de obtener el producto deseado es convertir ambos números a base $10$ y entonces para multiplicarlos y entonces para expresar ese producto en base $2$ . No es lo más limpio del mundo, pero tampoco lo es su enfoque. Considera que $$ (1000111)_2 = 1(2^6)+1(2^2)+1(2)+1 = 71, $$ y $$ (1110111)_2 = 1(2^6)+1(2^5)+1(2^4)+1(2^2)+1(2)+1 = 119. $$ Así, tenemos que $$ (1000111)_2 \cdot (1110111)_2 = 71\cdot 119 = 8449. $$ Ahora simplemente convierta $8449$ en la base $2$ : $$ 8449 = 1(2^{13})+1(2^8)+1 = (10000100000001)_2. $$ Así, vemos que $$ (1000111)_2 \cdot (1110111)_2 = (10000100000001)_2. $$

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X