2. 1.1. C2 (complemento a 2).
El complemento a uno de un número binario se obtiene
invirtiendo dicho numero, es
decir se cambian los 1 por los 0 y los 0 por los 1.
Una vez echo esto se puede calcular el complemento a dos que
se calcula sumando 1 al
valor de la derecha del complemento a uno.
EJEMPLO:
Primero se calcula el complemento a 1 del numero binario 10110010.
1↓0↓1↓1↓0↓0↓1↓0↓
0↑1↑0↑0↑1↑1↑0↑1↑
Después se suma 1 a 10110010.
01101110 + 1 = 01101111
El numero binario 10110010 en complemento a 2 es 0101111.
3. En este sistema el bit que esta situado mas a la izquierda representa el
signo, 0 para
positivo y 1 para negativo, el resto de bits representa el módulo del
numero. Primero se
convierte el numero a binario y para pasar de postivo a negativo solo se
cambia el signo, o sea el primer bit.
EJEMPLO:
00001111 – positivo
10001111 – negativo
+015 = 00001111
-089 = 11011001
-007 = 10000111
+032 = 00100000
+125 = 01111101
Tiene un inconveniente, el 0 se puede representar de 2 formas:
00000000
10000000
4. Este metodo de representacion no utiliza ningun bit para
indicar si es negativo o positivo,
por lo tanto todos los bits indican el modulo o valor.
Esta valor se corresponde con el numero representado mas el
exceso, para n bits viene
dado por 2^n-1.
EJEMPLO:
Para n = 8
El exceso es de 2^8-1 = 2^7 = 128
Con lo cual el número 13 vendrá representado por 13 +
128 = 141 (en binario)
Para el caso del número –13 tendremos –13 + 128 = 115
(en binario).
Sus representaciones serían:
13 - 10001101
-13 - 01110011
10. Para representar los numeros reales el
metodo mas comun es la denotacion de
punto flotante.
El concepto es que un nº real se representa
por otro nº llamado mantisa que se
multiplica por una base elevada a una
potencia entera (exponente).
12. El número positivo más pequeño que
puede ser representado es 10-128 el cual es
verdaderamente pequeño, pero esto no
quiere decir que cada nº comprendido
entre el mas grande y el mas pequeño se
puede representar.
Nuestra representación solo permite 23 bits
significativos.
13. 1. Separamos cada una de las partes del nº
en IEEE754, según la norma.
0 / 10100101 / 011101010000000000000000
2. El exponente al estar en exceso lo
pasamos a decimal y le restamos 127, esto
quedaria asi:
E = 10100101 = 165 – 127 = 38
14. 3. Por ultimo a la mantisa hay que añadirle el
bit implícito y pasarla a decimal:
M = 011101010000000000000000 = 1.45703125
4. Y ya podemos construir nuestro numero:
(+1) * 1.45703125 * 1038
= 1,45703125+e38
15. Decimal a IEEE-754
› Convertir a binario el numero y el decimal
125 1111101
0,815 11010000101000111
125,815 1111101,11010000101000111
› Correr la coma hasta el primer bit para
sacar el exponente
1,11110111010000101000111 x26
› Resultado:
S = 0 (positivo)
E = 127+6 =133 10000101
M = 11110111010000101000111
16. IEEE-754 a Decimal
› Separar en : Dato implícito / Exponente / Mantisa
1 / 10001110 / 01110001110000000000000
› Pasar el exponente a binario
10001110 =142 142-127 = 15
› Corremos la coma “E” lugares
1011100011100000,00000000
› Pasamos este numero a decimal teniendo en
cuenta el símbolo con el 1º bit
1011100011100000 = -47328