Restar un número binario más grande de un número binario más pequeño

1

¿Es posible restar un número binario más grande de uno más pequeño columna sabio . Por ejemplo restando 1000 de 0111? Siempre uso el complemento 2s, pero ¿es posible hacerlo en forma de columna?

    
pregunta Ahmed Zalook

1 respuesta

1

Si quieres decir que quieres hacerlo a mano como lo hiciste en la escuela primaria, entonces sí. Tome prestado un imaginario 2 (10b) de la columna imaginaria a la izquierda del número. Por ejemplo, aquí está tu problema:

$$ \ begin {matrix}     &erio; 0 & 1 & 1 & 1 \\     - & 1 & 0 & 0 & 0 \\ \ end {matriz} $$

y esto es lo que tienes después de pedir prestado un 2 del quinto bit imaginario (lugar de dieciséis):

$$ \ begin {matrix}       &erio; 10 \\       &erio; 0 & 1 & 1 & 1 \\     - & 1 & 0 & 0 & 0 \\ \ end {matriz} $$

10b - 1b es 1b, por lo que la respuesta es 1111b, o -1 en el complemento de dos, exactamente lo que cabría esperar si restas 8 de 7.

Esto todavía funciona si necesita pedir un préstamo de un lugar más pequeño. Esto:

$$ \ begin {matrix}     &erio; 0 & 0 & 1 & 1 \\     - & 0 & 1 & 0 & 1 \\ \ end {matriz} $$

se convierte en:

$$ \ begin {matrix}       &erio; 1 & 10 \\       &erio; 0 & 0 & 1 & 1 \\     - & 0 & 1 & 0 & 1 \\ \ end {matriz} $$

que es 1110b (-2): nuevamente, exactamente lo que esperarías si restaras 5 de 3.

    
respondido por el Adam Haun

Lea otras preguntas en las etiquetas