BCD (binary coded decimal)
En BCD cada cifra que representa un dígito decimal (0, 1,…8 y 9) se representa con su equivalente binario en cuatro bits (nibble o cuarteto) (esto es así porque es el número de bits necesario para representar el nueve, el número más alto que se puede representar en BCD).
Por ejemplo, el número 36 codificado en BCD sería: 0011 0110
Sumando en BCD: si se produce desbordamiento se suma a ese grupo de bits 6, osea 0110 y se propaga el overflow. Por ejemplo:
En BCD cada cifra que representa un dígito decimal (0, 1,…8 y 9) se representa con su equivalente binario en cuatro bits (nibble o cuarteto) (esto es así porque es el número de bits necesario para representar el nueve, el número más alto que se puede representar en BCD).
Por ejemplo, el número 36 codificado en BCD sería: 0011 0110
Sumando en BCD: si se produce desbordamiento se suma a ese grupo de bits 6, osea 0110 y se propaga el overflow. Por ejemplo:
19 =
0001 1001
29 =
0010 1001
------------------
(1) 0010 (se suma 0110 a esta parte y se propaga el 1
al siguiente grupo)
0110
------------------
0001 |
0010 |
---(1) |
-------------------
0100 1000
Representación de ENTEROS CON SIGNO
Signo y magnitud
Se reserva el MSB (more significant bit) para el signo y el resto para la magnitud (módulo)
Desventaja: doble representación del 0 y no se puede sumar/restar directamente.
Para SUMAR: primero sumar módulos y fijarse si existe overflow. después añadir el MSB que determina el signo.
Por ejemplo, con n=4bits:
+6=0 110
-6 = 1 110
suma de dos números positivos (o dos negativos):
0 110 --> módulo = 110
0 110 --> módulo = 110
Suma (módulos) = 1100 --> EXISTE OVERFLOW --> hay que aumentar en uno el número de bits
Resultado: ambos son positivos, por lo que la suma es también positiva ---> 0 1100
sumando
positivos y negativos
Regla: restar al módulo del mayor el módulo del menor y después colocar símbolo.
Regla: restar al módulo del mayor el módulo del menor y después colocar símbolo.
– si
el módulo del número positivo > módulo del negativo –> resultado positivo
–> MSB=0
2 = 0 010
-1 = 1 001
2 - 1 = 010 - 001 = 001 ---> como resultado>0 ---> 0 001
2 = 0 010
-1 = 1 001
2 - 1 = 010 - 001 = 001 ---> como resultado>0 ---> 0 001
– si
el módulo del número positivo < módulo del negativo --> resultado
negativo –> MSB=1
-2 = 1 010
1 = 1 001
-2 +1 = 010 - 001 = 001 ---> como resultado<0 ---> 1 001
-2 = 1 010
1 = 1 001
-2 +1 = 010 - 001 = 001 ---> como resultado<0 ---> 1 001
BCD
con SIGNO
También conocido como BCD empaquetado. Se almacena, en los 4LSB’s, la información del signo (positivo=1100, negativo=1101)
Por ejemplo:
127 = 0001 0010 0111 1100
-127 = 0001 0010 0111 1101
También conocido como BCD empaquetado. Se almacena, en los 4LSB’s, la información del signo (positivo=1100, negativo=1101)
Por ejemplo:
127 = 0001 0010 0111 1100
-127 = 0001 0010 0111 1101
Problema:
la duplicidad de representación del número 0
Operar: sumar el acarreo del MSB al resultado de la suma
Por ejemplo:
6 (base 10) = 0110
-6 (base 10) = 1001
Cuya suma es: 0110+1001 = 1111 y NO OVERFLOW ---> resultado = 1111 = 0000
Operar: sumar el acarreo del MSB al resultado de la suma
Por ejemplo:
6 (base 10) = 0110
-6 (base 10) = 1001
Cuya suma es: 0110+1001 = 1111 y NO OVERFLOW ---> resultado = 1111 = 0000
2
(base 10) = 0010
-1 (base 10) = 1110
Cuya suma es:
0010
1110
------
(1)0000 --> se suma el acarreo=(1) al LSB---> 0001
-1 (base 10) = 1110
Cuya suma es:
0010
1110
------
(1)0000 --> se suma el acarreo=(1) al LSB---> 0001
Complemento a dos
Ca2(N) = (2^n) - N siendo n el número de dígitos
N-->negado-->+1-->Ca2(N)
Ventaja: no existe duplicidad en la representación del número 0.
Ca2(N) = (2^n) - N siendo n el número de dígitos
N-->negado-->+1-->Ca2(N)
Ventaja: no existe duplicidad en la representación del número 0.
Por
ejemplo:
6 (base10) = 0110 (base2)
-6 (base10) = 2^4 - 6 = 16-6=10 = 1010 (base2)
6 (base10) = 0110 (base2)
-6 (base10) = 2^4 - 6 = 16-6=10 = 1010 (base2)
bin
neg +1
--> 0110 --->1001 ---> 1010
--> 0110 --->1001 ---> 1010
La suma de ambos es 0110+1010=0000
0 comentarios:
Publicar un comentario