Академический Документы
Профессиональный Документы
Культура Документы
Complemento a dos
Condicionales
Nmeros con signo:
Para representar nmeros negativos en la base
decimal, la que usamos a diario, basta con
anteponer el smbolo - al nmero en cuestin!
"sta notacin, sin embargo, no es #abitual al
operar con nmeros binarios! "n ensamblador no
puede ponerse un signo - delante de un nmero
binario y esperar que se interprete como
negativo, puesto que el nmero completo slo
puede contener ceros y unos, ningn otro
smbolo!
Nmeros con signo:
$n byte puede representar '() valores distintos,
concretamente los nmeros del * al '((! "n
realidad, esto no tiene necesariamente que ser
as, pudiendo utili%ar ese rango de valores para
representar cualquier otro con&unto de nmeros
que nos convenga! Podemos, por e&emplo, usar
la mitad del rango para representar nmeros
positivos y la otra mitad para los negativos! "sto
es lo que se consigue con el com+lemento a
dos!
,om+lemento a dos:
"n el complemento a dos se asume que el s'ptimo bit
del byte, el que aparece ms a la iz-uierda, acta como
bit de signo! Si est a cero, el nmero es +ositi.o,
mientras -ue si est a /, se inter+retar como
negati.o. (os restantes siete bits se emplean para
representar el nmero, que estar) comprendido entre * +
******* , y -./ + ------- , ! "l nmero ******** se
interpreta como *, mientras que -******* sera --.0!
Por tanto con el complemento a dos podemos
representar los nmeros desde el --.0 al -./, un total de
.12 valores al incluir el *!
,om+lemento a dos:
Para convertir cualquier nmero positivo en negativo,
siempre #ablando de la base ., #ay que dar dos pasos3
lo primero es in.ertir todos los bits del nmero
+ositi.o, +oniendo a * los -ue estn a / y .ice.ersa!
4 continuacin se sumar / al nmero in.ert#do!
5uponga, por e&emplo, que quiere representar el nmero
--2 en binario! (os pasos seran los siguientes3
,om+lemento a dos:
La bandera ,ero 37"4 indica que una operacin produ&o cero como resultado!
Por e&emplo, si se resta un operando de otro de igual valor, se activa la bandera
Cero!