REPRESENTACIÓN
INTERNA EN MEMORIA
El método se utiliza para representar la información en una computadora basándose en
la evaluación de costos y velocidad y en ocasiones en la exactitud y conveniencia del programador. Después elige el diseño de computadora que
tenga operaciones para manejar información de dichas representaciones. Normalmente, sólo se usa una única
representación para datos de carácter (aunque algunas computadoras proporcionan
representaciones tanto ASCII como EBCDIC).
Sin embargo, para una amplia gama
de problemas, de manera que las computadoras con frecuencia tiene más de una
forma de representación numérica. Lo
común es que existan representaciones binarias enteras y de punto flotante y
tal vez también representaciones de cadenas de caracteres decimales. Deben proporcionarse instrucciones
diferentes para cada forma de número que se maneje.
El
número de punto fijo es aquel cuyo punto se encuentra en un lugar fijo con
relación a la palabra, de esta forma, un
entero es también un número de punto fijo.
NÚMEROS
ENTEROS Y DE PUNTO FIJO
En el Sistema de Numeración Binaria, la
expresión matemática de enteros es
|
donde a es un bit con valor
0 o 1. Su valor decimal es
|
Por ejemplo, el número binario dado por
±
110101
es igual a
I = ± ( (1) 25 + (1) 24
+ (0) 23 +(1) 22 +
+(0) 2 + 1)
I = ± (32 + 16 + 0 + 4 + 0 + 1)
I = ± 53
El valor máximo de K esta limitado en algunas
computadoras, debido al diseño de hardware.
Se usan 2 bytes (16 bits) para representar un entero ; en donde el
primer bit registra el signo (positivo
si es 0, negativo si es 1). Los
restantes 15 bits se usan para los ai. Por lo tanto, el valor máximo posible para un
entero positivo es
|
N°.
de bit
|
0
|
1
|
2
|
3
|
4
|
5
|
6
|
7
|
8
|
9
|
10
|
11
|
12
|
13
|
14
|
15
|
|
Binario
|
0
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
El valor decimal de lo
anterior es
i=0å14 2i = 32 767
Para almacenar un número negativo se utilizan
los mismos dígitos que el número positivo de la misma magnitud, excepto que el
primer bit se pone en 1. Aunque en
ocasiones, algunos computadoras usan el complemento a 2’s para almacenar números
negativos.
Por ejemplo, el complemento
a 2’s para (-32767)10 es
|
Binario
(32767)
|
0
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
|
Aplicar CA1’s
|
1
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1
|
|
CA
2’s
|
1
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
1
|
El valor máximo entero negativo es
|
N°.
de bit
|
0
|
1
|
2
|
3
|
4
|
5
|
6
|
7
|
8
|
9
|
10
|
11
|
12
|
13
|
14
|
15
|
|
Binario
|
1
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
1
|
El cual se obtiene
utilizando el complemento a 2’s que consiste en cambiar los 0 por 1, y los 1
por 0 y añadiendo 1 al resultado para el número 32767.
En el complemento a 2’s, se determina primero
el valor decimal como si los 16 bits expresaran un número positivo. Si este número es menor que 215, o 32768, se le interpreta como
positivo. Si es mayor o igual, entonces
se transforma en un número negativo restándole
216.
El equivalente decimal del número binario es: Z = 215 + 1;
por lo que la resta da
32768 - 216 = 32768 + 1 - 65536
= -32767
El número negativo de menor
magnitud se representa por
(1111 1111 1111 1111 1111 1111 1111 1111)2 que es igual a -1 en decimal.
Se
utilizan 4 bytes para la representación de signo/magnitud de un entero. Por lo que, el máximo número positivo es
232-1 - 1 = 2147483648 -1 = 2147483647
|
0
|
1
|
2
|
|
n-1
|
n
|
|
|
|
|
...
|
|
|
- (2n-1 - 1) a (2n-1 - 1)
La magnitud se refiere al número más chico
que puede ser representado y al número
más grande que se puede representar y la precisión es la cantidad de
cifras que caven dentro de un rango estipulado por la máquina en posición.
Cuando hablamos de signo/magnitud nos
referimos a que la representación de los números enteros en signo/magnitud se
representan con su respectiva representación binaria, lo que cambia es su
signo. Por ejemplo,
|
Decimal
|
Binario
|
|
2
|
0 010
|
|
-2
|
1 101
|