¡Descarga Aritmética Binaria y más Apuntes en PDF de Informática solo en Docsity!
Aritmética Binaria^ © Luis Entrena, Celia López, Mario García,
Enrique San Millán Universidad Carlos III de Madrid
Índice z^ Representación de números con signo^ •^ Sistemas de Signo y Magnitud, Complemento a 1 yComplemento a 2^ •^ Propiedades del sistema de Complemento a 2 z^ Aritmética Binaria^ •^ Adición y Sustracción^ •^ Multiplicación y División z^ Representación de números reales
Representación Signo y Magnitud z^ Los números en el sistema de Signo y Magnitud secodifican de la siguiente forma:^ •^ El MSB es el signo (0 si es positivo o 1 si es negativo)^ •^ El resto de los bits son la magnitud del número a representar,codificada en binario natural z^ Ejemplos:^ +25= 011001^10
25 = 11001^10 BIN SM -25= 111001 10 SM
- Complemento a 1 z Los números en el sistema de Complemento a 1 secodifican: • Si el número es positivo: • El MSB es un 0 • El resto de los bits son la magnitud en binario natural • Si el número es negativo: • El MSB es un 1 • El resto de los bits son el complemento (a 1) de la magnitud z Ejemplos: +
- = 011001 10 Ca1 -25= 100110 10 Ca
Complemento a 2 z^ No hay que confundir los conceptos de “operaciónde complementar a 2” y “representación encomplemento a 2” de un número:^ •^ Operación de complementar a 2 de un número A:^ •^ Representación en complemento a 2 de un número A:^ •^ Hay que distinguir si es positivo o negativo, sólo en el caso de que seanegativo dicha representación se obtiene aplicando la operación decomplementar a 2. z^ La representación en complemento a 2 es la másutilizada en los sistemas digitales para números consigno.
1 )( 2 += AACa
Extensión del número de bits z^ Un mismo número se puede representar condiferente número de bits:^ +25= 011001^10 z^ Para extender el signo:^ •^ En SM:^ •^ Añadir ceros justo después del signo^ •^ En Ca1 y Ca2:^ •^ Si es positivo añadir ceros a la izquierda^ •^ Si es negativo añadir unos a la izquierda
= 0000011001SM SM
SM
+25= 011001^10 Ca
= 0000011001 Ca^
Ca
-25= 100111^10 Ca^
= 1111100111=Ca^ 11111111111100111
Ca
Complemento a 2 z^ Otra propiedad muy importante del Ca2 es que el valor negado de unnúmero representado en Ca2 se puede obtener a través de laoperación de complemento a 2: z^ De lo cual se deduce esta otra propiedad, ya que –(-A)=A: z^ Ejemplo:
)(ACa
A–
=Ca2Ca
Partiendo de un número positivo:
00001001 (+9) Realizando la operación de Ca2:
11110111 (-9) Realizando la operación de Ca2:
A))Ca2(Ca2(A =^ Ca2Ca2 00001001 (+9)
Suma binaria z^ Las sumas de números naturales en binario se realizan igualque en decimal: z^ Utilizando la representación de los números en Ca2, el métodoes válido también para números con signo, si se siguen lassiguientes reglas.^ •^ Operandos con el mismo número de bits^ •^ Se descarta el acarreo final^ •^ Si los dos operandos tienen el mismo signo, y el resultado de la operacióntiene signo diferente el resultado no es válido. Se dice que haydesbordamiento (
1001 (9) + 1101 (13) 10110 (22) “overflow” ): • Esto sucede porque haría falta un bit adicional para poder representar elresultado.
Resta binaria z^ Para realizar restas binarias se utiliza la propiedad vista anteriormentedel complemento a 2:^ Y por tanto:^ O equivalentemente: z^ En los sistemas digitales se representan los números con signo enCa2, y no se utilizan restadores (no hacen falta), sólo sumadores
)(BCa
)(ACa2A– =Ca2Ca2 AB–A +=Ca2Ca2Ca2Ca2 1 BAB–A ++=Ca2Ca2Ca2Ca
Multiplicación binaria^ z^ Las multiplicaciones en binario se realizan de forma similar a lasmultiplicaciones en decimal:^ z^ En el caso de números con signo se utiliza la representación encomplemento a 2:^ •^ Si los dos números son positivos, se realiza directamente la operación. Al resultadose añade un bit de signo 0 (el resultado es un número positivo).^ •^ Si los dos números son negativos, se complementan a 2, se multiplican y al resultadose añade un bit de signo 0 (el resultado es un número positivo).^ •^ Si uno de los números es negativo, se hace el Ca2 de ese número, se multiplica porel otro, y al resultado se le realiza el Ca2 y se le añade un bit de signo 1 (el resultadoes negativo).
1001 (9)^ 1101 (11)^100110010000 1001______ 1100011 (99)
Representación de númerosreales z^ Los números reales se pueden representar de dos formas:^ •^ Punto fijo^ •^ Punto flotante z^ Punto fijo:^ •^ La coma decimal se considera fija en un punto.^ •^ Ejemplo: Datos de 32 bits, utilizar 20 bits para la parte entera y 12 bits para los decimales^ •^ Fácil realizar las operaciones de sumas, restas, multiplicaciones y divisiones vistashasta ahora^ •^ Notación: Qm,n^ •^ m: número de bits de la parte entera (opcional)^ •^ n: número de bits para la parte decimal^ •^ Se utiliza un bit adicional para el signo (en total hacen falta m+n+1 bits).^ •^ Ejemplos: Q16,16, Q.32, etc.
Representación de númerosreales^ z^ Punto flotante:^ •^ La coma decimal es “flotante”^ •^ Se descompone el número en dos partes: mantisa y exponente:
E N = M x b Ejemplos:^ •^ 2547,35= 2,54735 * 10^10
3 -3 • 0,0035= 3,5 * 10 (^10) • 111,0110= 1,11011 2 2 (^2) * 2
-^ 0,001101= 1,101* 2^2
•^ Se utiliza un número fijo de bits para la mantisa, otro para el exponente y otroadicional para el signo •^ Normalización: Fija la posición de la coma decimal en la descomposición (para teneruna representación única)
Representación de númerosreales z^ Ejemplo: Representar -7.
en precisión sencilla (^10) -7.625= -111.101 10 2 Descomponiendo en la forma N= (-1)
s^ E-127^ * 2* 1.M : (^1) -111.101= (-1)* 1.11101 * 2 2
2 S = 1
M = 11101 2 = E -127 Î^ E = 129= 10000001^10
2 Por tanto el número representado con precisión sencilla:^ 1 10000001 1000000100000000000000
Representación de númerosreales z^ Operaciones aritméticas con números en coma flotante: más complejas^ •^ Suma:^ •^ Modificar uno de los números para que tengan el mismo exponente (denormalizarlo)^ •^ Normalizar el resultado una vez realizada la operación^ •^ Resta:^ •^ Análogo a la suma. Añade complejidad de convertir a complemento a 2^ •^ Multiplicación:^ •^ Sumar exponentes^ •^ Multiplicar mantisas^ •^ Redondear y normalizar^ •^ División:^ •^ Análogo a la multiplicación z^ Debido a la complejidad de las operaciones en coma flotante, muchoscircuitos electrónicos digitales (microprocesadores por ejemplo) tienenmódulos dedicados a realizar estas operaciones