miércoles, 12 de octubre de 2016

Aritmética de punto fijo y punto flotante





PUNTO FIJO. Está una representación que contiene una cantidad fija de dígitos después del punto decimal. Al no requerir de Unidad de Punto Flotante. El punto decimal siempre estará en la misma posición.
En el bit ultimo bit se  representara el signo del numero.

Negativo: 1
Positivo:  0

Los complementos se utilizan en las computadoras digitales para simplificar la operación de sustracción o resta y para la manipulación lógica.   Existen dos tipos de complementos para cada sistema de base r:

1.      El complemento A1

2.      El complemento A2

Complemento A1: El complemento A1 se obtiene de cambiar los 1 por 0 y los 0 por 1.

 Binario:   01110010 = 114
  C. A1:    10001101 = -114


Complemento A2: El complemento a 2 de un numero binario es encontrado sumando 1 al bit menos significativo de el complemento a 1 del numero.

- 114 =  10001101
              +           1
              10001110



EJEMPLO:

Representar el numero 195 en una memoria de 16 bits.

1. Convertir el numero a binario.


2^n =   128   64   32   16   8   4   2    1
195 =     1     1     0     0     0   0   1    0


2. Aplicar el complemento A1 ( Cambiar los 1 a 0 y los 0 a 1).

195 = 11000010
          00111101

3. Aplicar el complemento A2 (Sumar un 1 al bit menos significativo)
     
        00111101
        +           1
        00111110

4. Representarlo en la memoria de 16 bits. El ultimo bit representa el signo del numero  el resultado del paso anterior se pondrá   a partir espacio de memoria, los espacios sobrantes sera ocupados dependido del signo ( + 0, - 1).

       SIGNO
          15   14   13   12   11   10   9   8   7   6   5   4   3   2   1   0
195=   0    0     0      0     0     0    0   0   0   0   1   1   1   1   1   0


 PUNTO FLOTANTE Esta representa a los números reales, en base binaria. En base decimal el punto flotante es usualmente conocido como punto decimal. Los dígitos luego del punto representan una elevación negativa.

 En la parte entera se definirá el signo del numero

 Negativo = 1
 Positivo = 0

 En la parte exponencial sera invertido

 Negativo = 0
 Positivo = 1
PROCEDIMIENTO.


 EJEMPLO:


 Representar 2.56 en 16 bits 1. Identificar el punto decimal. 2.56

 2. Convertir la parte entera a binario.

 2^n 128 64 32 16 8 4 2 1 2 = 0 0 0 0 0 0 1 0

 3. La parte decimal la multiplicaremos por 2 y su resultado también pero deberemos tener en cuenta que solo podemos utilizar 2 decimales ya que así nos lo indica la parte decimal que es (56) y si el resultado nos da un decimal mas significara que ese bit sera "1" de lo contrario sera "0" este proceso se realizara las veces necesarias. Este sera un poco mas claro a continuación.

 .56 * 2 = 1.12 => 1
 .12 * 2 = 24    => 0
 .42 * 2 = 84    => 0
 .84 * 2 = 1.68 => 1
 .68 * 2 = 1.36 => 1
 .36 * 2 = 72    => 0
 .72 * 2 = 1.44 => 1
 .44 * 2 = 88    => 0
 .88 * 2 = 1.76 => 1

 4. Reagrupaos el numero pero esta ves en binario. 2.56 = 00000010.10011011 5. Trasladamos el punto de decimal al 1 mas significativo en este caso a la izquierda, y lo colocaremos en notación científica (base 2).

 00000010.10011011 = 000000.1010011011 => 1010011011 * 2^2

En este caso se traslado 2 espacios a la izquierda.

 6. Aquí utilizaremos la formula para hallar a la parte exponencial del numero que es +-N + 2 ^(t - 1). Donde N es la cantidad de espacios que se traslado el punto decimal y t es la cantidad de bits reservados. Después de obtener el resultado este se deberá convertir a binario.

 +-N + 2 ^ (t - 1) = 2 + 2 (5 - 1) 2 + 2^4 = 2 + 16 => 18

 2^n 128   64  32  16  8  4   2  1
 18 = 0      0    0    1    0   0  1  0 


7. Representaremos lo anterior en 16 bits. ya que el numero es positivo en el bit 15 sera 0

 SIGNO     EXPONENTE                     MANTISA
    15         14 13 12 11 10     9 8 7 6 5 4 3 2 1 0
    0           1   0    0   1    0     1 0 1 0 0 1 1 0 1 1



COMPLEMENTO A9, A10.

Complemento A9: Se usa para representar números negativos de forma que una resta se pueda transformar en una suma.

EJEMPLO:

428 - 47 = 381

1. Sabiendo que el  numero sustraendo es de 3 cifras en este caso, procederemos a restar el numero mas alto de 3 cifras que hay,  999 con el valor del minuendo.


     999
     -47
    952

2. Procederemos a sumar el resultado anterior con el sustraendo, al valor solo tomaremos las 3 primeras cifras   y le sumaremos 1
 
   952
+428
 1380
  +   1
   381

Complemento A10: El complemento A10 es cuando se da el caso de que. El sustraendo es menor al minuendo.

EJEMPLO:

47 - 428 = -381

1.  Procederemos a  restar el numero mas alto que representa, uno de los valores en este caso es el minuendo de 3 cifras.

2. Restaremos el numero mas grande que es 999 con el minuendo, y al resultado le sumamos el sustraendo.

3. Teniendo los pasos anteriores restare el numero mas grande de la respuesta obtenida que seria 999
con el resultado anterior y agregaremos un signo negativo

   999          999
  -428        -618
  571          -381
  +47
   618






1 comentario: