¿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?
¿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?
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.
Lea otras preguntas en las etiquetas binary