TEMA 2 9
Representación interna de los datos
TEMA 2
REPRESENTACION INTERNA DE LOS DATOS
2.1 Sistemas de numeración
2.1.1 Sistema binario
2.2 Conversión entre sistemas
2.3 Representación de números enteros
2.3.1 Módulo y signo
2.3.2 Complemento a 1
2.3.3 Complemento a 2
2.3.4 Suma en complemento a 1
2.3.5 Suma en complemento a 2
2.3.6 Codificación alfanumérica
(INF210) – RCT. – 01/2005
TEMA 2 10
Representación interna de los datos
INTRODUCCION
Expresa
Comunica
Almacena
Sistema Datos Sistema
Decimal Ordenes Alfabético
Construcción basada en
Transf. circuitos electrónicos
digitales
Sistema Binario
(INF210) – RCT. – 01/2005
TEMA 2 11
Representación interna de los datos
2.1 SISTEMAS DE NUMERACION
Qué es un Sistema de Numeración?
Conjunto de símbolos y reglas que se utilizan para la representación de datos
numéricos o cantidades.
Se caracteriza por:
Base. Es la cantidad de símbolos distintos que utiliza.
Base 10 : {0,1,2,3,4,5,6,7,8,9}
Base 2: {0,1}
Base 8: {0,1,2,3,4,5,6,7}
Posicional. El valor de cada símbolo depende de su ubicación respecto de
la coma.
Notación. Xb , indica que el número o cantidad X se encuentra en base b.
Ejemplo:
56710 indica que el número 567 se encuentra en base 10.
10112 indica que el número 1011 se encuentra en base 2.
1468 indica que el número 146 se encuentra en base 8.
(INF210) – RCT. – 01/2005
TEMA 2 12
Representación interna de los datos
Teorema Fundamental de la Numeración (TFN)
Permite convertir un valor expresado en cualquier Sistema de Numeración a
uno en el Sistema Decimal.
Se encuentra expresado por la siguiente fórmula:
n
Nº (dígito )
i m
i * (base) i
donde,
base: base original
i: posición respecto de la coma
n: número de dígitos a la derecha de la coma, menos 1
m: número de dígitos a la izquierda de la coma
dígito: cada uno de los componentes del número
Ejemplo:
111.23 = 2 * 3-1 + 1 *30 + 1 * 31 + 1 * 32 = 13.7
85649 = 4 * 90 + 6 * 91 + 5 * 92 + 8 * 93 = 6295
TENER PRESENTE
Los computadores efectuan operaciones
con números cuya precisión es finita y fija,
ya que la memoria disponible para almacenar un número
se fija en el momento del diseño.
(INF210) – RCT. – 01/2005
TEMA 2 13
Representación interna de los datos
2.1.1 Sistema Binario
En los circuitos electrónicos, desde el punto de vista lógico, se
representa la presencia de tensión con un 1 (uno) y la ausencia con un
0 (cero).
Lógica positiva y Lógica negativa.
Características
Es el Sistema de Numeración utilizado internamente por los circuitos
que configuran el hardware de los computadores.
Base: 2
Dígitos: {0,1} , denominados bits.
Para medir la cantidad de información representada en binario, se
utilizan las siguientes medidas:
Nibble o Cuarteto 4 bits
Byte u Octeto 8 bits
Kilobyte (KB) 1024 bytes 1024 * 8 bits
Megabyte (MB) 1024 KB 10242 * 8 bits
Gigabyte (GB) 1024 MB 10243 * 8 bits
Terabyte (TB) 1024 GB 10244 * 8 bits
Se utiliza 1024 en lugar de 1000, ya que desde el punto de vista
electrónico, es el múltiplo de 2 más cercano a 1000.
210 = 1024
(INF210) – RCT. – 01/2005
TEMA 2 14
Representación interna de los datos
El Byte es considerado como la unidad básica de medida de información
representada en este sistema.
Aritmética Binaria
Para comenzar a familiarizarse con la aritmética binaria, inicialmente,
sólo se considerarán operandos positivos.
Suma
Dos números binarios se suman comenzando por el bit de la derecha
y sumando los bits correspondientes a los dos operandos. Si se
generó acarreo, éste se lleva un lugar a la izquierda, tal como en la
suma decimal.
Para efectuar la suma, considerar la siguiente tabla:
Suma
0+0=0
0+1=1
1+0=1
1+1=0 acarreo 1
Ejemplo:
01110011 115
10000000 128
11110011 243
(INF210) – RCT. – 01/2005
TEMA 2 15
Representación interna de los datos
1
11000111 199
00110100 52
11111011 251
11 1
01111011 123
01100010 98
10000000 128
101011101 349
Resta
La resta se efectua realizando restas parciales entre los dígitos de
igual posición.
Si el segundo dígito excede al primero, se sustrae una unidad del
dígito siguiente a la izquierda en el minuendo:
Si es 1, se convierte en 0, equivaliendo la unidad extraída a 1 * 2
en el minuendo de la resta parcial que se está realizando.
Si es 0, se busca la unidad en los sucesivos dígitos del minuendo,
teniendo en cuenta que la unidad se multiplica por 2 a cada
desplazamiento a la derecha
Para efectuar la resta, considerar la siguiente tabla:
Resta
0-0=0
0 - 1 = 1 buscar unidad
1-0=1
1-1=0
(INF210) – RCT. – 01/2005
TEMA 2 16
Representación interna de los datos
Ejemplo:
10111011 187
10100001 161
00011010 26
0 2 02
1 0111011 187
0 1000111 71
0 1110100 116
22 2 2 2
0 -1-1 0 -1
1 1 0 0 1 0 0 1 201
1 0 0 0 1 0 1 0 138
0 0 1 1 1 1 1 1 63
Multiplicación
La multiplicación binaria opera de la misma forma que la
multiplicación decimal, pero en este caso la suma final de los
productos parciales se realiza en binario.
Para efectuar la multiplicación, considerar la siguiente tabla:
Multiplicación
0*0=0
0*1=0
1*0=0
1*1=1
(INF210) – RCT. – 01/2005
TEMA 2 17
Representación interna de los datos
Ejemplo:
11011101 * 1101 221 * 13
11011101 2873
00000000
11011101
11011101
1011001110 01
01111000 * 100 120 * 4
00000000 480
00000000
01111000
0111100000
División
La división binaria opera de la misma forma que la multiplicación
decimal, pero en este caso las multiplicaciones y restas internas se
realizan en binario.
Ejemplo:
1 0’ 1’ 0’ 1’ 0’ 1’ 1’ / 1 0 = 1010101
10
00 10 1 7’ 1’ / 2 = 8 5
10 1 1
00 10 1
1 0
0 0 1 1
1 0
0 1
(INF210) – RCT. – 01/2005
TEMA 2 18
Representación interna de los datos
1 1 0’ 1’ 1’ 1’ 1’ 0’ / 101 = 101100
101
001 11 2 2’ 2’ / 5 = 4 4
1 01 2 2
0 101 2
101
0 00 1 0
1 1 0 1’ 1’ 1’ 1’ 0’ / 111 = 11111
111
110 1 2 2’ 2’ / 7 = 3 1
11 1 1 2
11 01 5
1 11
1 10 1
11 1
11 0 0
1 1 1
1 0 1
2.1.2 Otros sistemas
Sistema Octal
Base: 8
Dígitos: {0, 1, 2, 3, 4, 5, 6, 7}
Sistema Hexadecimal
Base: 16
Dígitos: {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F}
(INF210) – RCT. – 01/2005
TEMA 2 19
Representación interna de los datos
2.2 CONVERSIÓN ENTRE SISTEMAS
Se denomina conversión, entre números representados en diferentes sistemas
de numeración, a la transformación de una cantidad desde un sistema a otro.
2.2.1 Conversión Decimal-Binario
Divisiones sucesivas por 2
Método utilizado para convertir un número entero decimal a uno
binario.
Consiste en dividir sucesivamente el número decimal y los sucesivos
cuocientes por 2, hasta que el cuociente tome el valor 0.
La unión de todos los restos obtenidos, escritos en orden inverso,
forma el número en binario.
Ejemplo:
195 2 1
97 2 1
48 2 0 19510 = 1 1 0 0 0 0 1 12
24 2 0
12 2 0
6 2 0
3 2 1
1 2 1
0
(INF210) – RCT. – 01/2005
TEMA 2 20
Representación interna de los datos
321 2 1
160 2 0
80 2 0
40 2 0
20 2 0 32110 = 1 0 1 0 0 0 0 0 12
10 2 0
5 2 1
2 2 0
1 2 1
0
Multiplicaciones sucesivas por 2
Método utilizado para convertir un número fraccionario en uno
binario.
Consiste en multiplicar sucesivamente sólo la parte fraccionaria del
número por 2.
Los dígitos binarios lo contituyen la parte entera del resultado de la
multiplicación.
La unión de todos los enteros obtenidos, escritos en el orden natural,
forma el número en binario resultante.
Repetir el proceso hasta que se presente alguno de los siguientes
casos:
(INF210) – RCT. – 01/2005
TEMA 2 21
Representación interna de los datos
- La parte fraccionaria se haga 0.
- Se repita en forma periódica una cierta secuencia de dígitos.
- La cantidad de dígitos sea suficiente como para no exceder un
cierto error.
Ejemplo:
0.75 2 1.5
0.5 2 1.0 0.7510 = 0.112
0.0
0.45 2 0.90
0.90 2 1.80
0.80 2 1.60
0.60 2 1.20 0.4510 = 0 . 0 1 1 1 0 0 1 1 0 02
0.20 2 0.40 0.4510 = 0 . 0 1 1 1 0 02
0.40 2 0.80
0.80 2 1.60
0.60 2 1.20
0.20 2 0.40
0.40 2 0.80
(INF210) – RCT. – 01/2005
TEMA 2 22
Representación interna de los datos
0.453 2 0.906
0.906 2 1.812
0.812 2 1.624
0.624 2 1.248 0.45310 = 0.01110011111102
0.248 2 0.496
0.496 2 0.992
Dado que las sucesivas
0.992 2 1.984 multiplicaciones no han terminado
0.984 2 1.968 en 0 y no ha sido posible establecer
0.968 2 1.936 una secuencia que se repita, se ha
establecido realizarlas hasta
0.936 2 1.872
alcanzar una precisión con un error
0.872 2 1.744
de 2-12 (12 por la cantidad de
0.744 2 1.488
multiplicaciones realizadas).
0.488 2 0.976
Restas sucesivas de las potencias de 2
Método utilizado para convertir un número decimal con o sin parte
fraccionaria.
Requiere el uso de una tabla de las potencias de 2 (positivas y
negativas).
(Tema de estudio para los alumnos)
(INF210) – RCT. – 01/2005
TEMA 2 23
Representación interna de los datos
2.2.2 Conversión Decimal-Octal
Divisiones sucesivas por 8
Método utilizado para convertir un número entero decimal en uno
octal.
Consiste en dividir sucesivamente el número decimal y los sucesivos
cuocientes por 8, hasta que el cuociente tome el valor 0.
La unión de todos los restos obtenidos, escritos en orden inverso,
forma el número en octal.
Ejemplo:
195 8 3
24 8 0 19510 = 3 0 38
3 8 3
0
321 8 1
40 8 0
5 8 5 32110 = 5 0 18
(INF210) – RCT. – 01/2005
TEMA 2 24
Representación interna de los datos
Divisiones sucesivas por 8
Método utilizado para convertir un número fraccionario en uno octal.
Consiste en multiplicar sucesivamente sólo la parte fraccionaria del
número por 8.
Los dígitos octales corresponden a la parte entera del resultado de la
multiplicación.
La unión de todos los enteros obtenidos, escritos en el orden natural,
forma el número octal resultante.
Repetir el proceso hasta que se presente alguno de los siguientes
casos:
- La parte fraccionaria se haga 0.
- Se repita en forma periódica una cierta secuencia de dígitos.
- La cantidad de dígitos sea suficiente como para no exceder un
cierto error.
Ejemplo:
0.75 8 6.00
0.7510 = 0.68
0.00
(INF210) – RCT. – 01/2005
TEMA 2 25
Representación interna de los datos
0.45 8 3.60
0.60 8 4.80
0.80 8 6.40
0.40 8 3.20
0.20 8 1.60 0.4510 = 0.3463146318
0.60 8 4.80 0.4510 = 0.346318
0.80 8 6.40
0.40 8 3.20
0.20 8 1.60
0.453 8 3.624
0.624 8 4.992
0.992 8 7.936
0.936 8 7.488
0.488 8 3.904
0.904 8 7.232
0.232 8 1.856 0.45310 = 0.34773716662138
0.856 8 6.848
0.848 8 6.784
0.784 8 6.272
0.272 8 2.176
0.176 8 1.408
0.408 8 3.264
(INF210) – RCT. – 01/2005
TEMA 2 26
Representación interna de los datos
Restas sucesivas de las potencias de 8
Método utilizado para convertir un número decimal con o sin parte
fraccionaria.
Requiere el uso de una tabla de las potencias de 8 (positivas y
negativas).
2.2.3 Conversión Decimal-Hexadecimal
Divisiones sucesivas por 16
Este método se aplica de forma similar a los casos de conversiones
en binario y octal.
Multiplicaciones sucesivas por 16
Este método se aplica de forma similar a los casos de conversiones
en binario y octal.
2.2.4 Conversión Binario-Decimal
Conversión de enteros
Escribir el número binario en forma vertical (dígito de la derecha
debe quedar en la parte superior y el dígito de la izquierda en la
parte inferior).
Repetir para cada uno de los dígitos:
(INF210) – RCT. – 01/2005
TEMA 2 27
Representación interna de los datos
- Sumar el dígito al producto de 2 por el resultado de la operación
anterior (para el primer dígito el producto es 0).
- El resultado de la última operación corresponderá al valor decimal
buscado.
Ejemplo:
1 1 1 0 1 1 1 02 = 23810
0 + 2 * 119 = 238
1 + 2 * 59 = 119
1 + 2 * 29 = 59
1 + 2 * 14 = 29
0+2*7 = 14
1+2*3 =7
1+2*1 =3
1+2*0 =1
1 1 0 0 0 1 0 12 = 19710
1 + 2 * 119 = 197
0 + 2 * 59 = 98
1 + 2 * 29 = 49
0 + 2 * 14 = 24
(INF210) – RCT. – 01/2005
TEMA 2 28
Representación interna de los datos
0+2*7 = 14
0+2*3 =6
1+2*1 =3
1+2*0 =1
Sumas de las potencias de 2
Este método corresponde a la aplicación del Teorema Fundamental
de la Numeración (TFN).
2.2.4 Conversión Binario-Octal
Este método consiste en agrupar los dígitos binarios de 3 en 3.
Desde el punto decimal hacia la izquierda para los enteros y hacia la
derecha para los dígitos fraccionarios.
Buscar, para cada agrupación, el correspondiente dígito octal.
Ejemplo:
101100010.111000
5 4 2 . 7 0
010101111.111110
2 5 7 . 7 6
(INF210) – RCT. – 01/2005
TEMA 2 29
Representación interna de los datos
2.2.4 Conversión Binario-Hexadecimal
Este método consiste en agrupar los dígitos binarios de 4 en 4.
Desde el punto decimal hacia la izquierda para los enteros y hacia la
derecha para los dígitos fraccionarios.
Buscar, para cada agrupación, el correspondiente dígito hexadecimal.
Ejemplo:
101101100010.11100011
B 6 2 . E 3
000100101111.11111000
1 2 F . F 8
2.2.5 Conversión Octal-Decimal
Aplicación del Teorema Fundamental de la Numeración (TFN).
2.2.6 Conversión Hexadecimal- Decimal
Aplicación del Teorema Fundamental de la Numeración (TFN).
(INF210) – RCT. – 01/2005
TEMA 2 30
Representación interna de los datos
2.2.7 Conversión Base X a Base Y
Este método de conversión se utiliza cuando no es factible aplicar
directamente los métodos de conversión antes descritos.
Paso 1: Llevar el valor en base x a base 10, aplicando el TFN.
Paso 2: Llevar el valor en base 10 a base y, aplicando el método de
las divisiones sucesivas por y.
Ejemplo:
4217 X3
Paso N°1: Aplicando TFN
4217 = 1 * 70 + 2 * 71 + 4 * 72
= 1 + 14 + 196
= 21110
Paso N°2: Aplicando método de las divisiones sucesivas por 3.
211 3 1
70 3 1
23 3 2 4217 = 2 1 2 1 13
7 3 1
2 3 2
0
(INF210) – RCT. – 01/2005
TEMA 2 31
Representación interna de los datos
2.3 REPRESENTACION DE NÚMEROS ENTEROS
Los computadores utilizan cuatro métodos para la representación interna de
los números enteros (positivos y negativos).
Módulo y signo (Signo/magnitud)
Complemento a 1 (C-1)
Complemento a 2 (C-2)
Exceso 2n-1
Para estas representaciones:
Se utiliza el sistema binario.
Se considera, como realmente ocurre, que se tiene un número limitado de
bits para cada dato numérico, indicado por n.
Rango de Representación, conjunto de números representables en un
método.
2.3.1 Módulo y signo
Si se considera n bits:
El bit que está más a la izquierada representa el signo, 0 (positivo) y
1 (negativo).
Los n-1 bits restantes representan el módulo del número.
(INF210) – RCT. – 01/2005
TEMA 2 32
Representación interna de los datos
Ejemplo:
n=8
7 6 5 4 3 2 1 0
S Magnitud
n = 16
15 14 13 . . 2 1 0
S Magnitud
Rango de representación
- 2n-1 + 1 X 2n-1 - 1
- 28-1 + 1 X 28-1 - 1
- 27 + 1 X 27 - 1
- 128 + 1 X 128 – 1
- 127 X 127
7 6 5 4 3 2 1 0
64 32 16 8 4 2 1
S 127
(INF210) – RCT. – 01/2005
TEMA 2 33
Representación interna de los datos
Ejemplo:
n=8
x=38
+
0 0 1 0 0 1 1 0
x=- 38
-
1 0 1 0 0 1 1 0
Ventaja: Posee rango simétrico. Igual cantidad de enteros positivos y
negativos.
Desventaja: Posee 2 representaciones para el valor cero.
(INF210) – RCT. – 01/2005
TEMA 2 34
Representación interna de los datos
2.3.2 Complemento a 1 (C-1)
Si se considera n bits:
El bit que está más a la izquierada representa el signo, 0 (positivo) y
1 (negativo).
Los n-1 bits restantes representan el módulo del número.
Números positivos, se consideran igual que en Signo/Magnitud.
Números negativos, complementar todos los dígitos, incluido el
signo.
Rango de representación
- 2n-1 + 1 X 2n-1 - 1
- 127 X 127
Ejemplo:
n=8
x=38
+
0 0 1 0 0 1 1 0
x=- 38
-
1 1 0 1 1 0 0 1
(INF210) – RCT. – 01/2005
TEMA 2 35
Representación interna de los datos
Ventaja: Posee rango simétrico. Igual cantidad de enteros positivos y
negativos.
Desventaja: Posee 2 representaciones para el valor cero.
2.3.3 Complemento a 2 (C-2)
Si se considera n bits:
El bit que está más a la izquierada representa el signo, 0 (positivo) y
1 (negativo).
Los n-1 bits restantes representan el módulo del número.
Números positivos, se consideran igual que en Signo/Magnitud.
Números negativos, requiere 2 pasos:
1. Aplicar C-1
2. Al resultado obtenido en (1), se le suma 1 en binario,
despreciando el último acarreo, si existe.
Rango de representación:
- 2n-1 X 2n-1 - 1
- 128 X 127
(INF210) – RCT. – 01/2005
TEMA 2 36
Representación interna de los datos
Ejemplo:
n=8
x=38
+
0 0 1 0 0 1 1 0
x=- 38
C-1
1 1 0 1 1 0 0 1
+ 1
1 1 0 1 1 0 1 0
Ejemplo:
n=8
x=0
+
0 0 0 0 0 0 0 0
x=- 0
C-1
1 1 1 1 1 1 1 1
+ 1
0 0 0 0 0 0 0 0
Desventaja: Posee rango asimétrico.
Ventaja: Posee 1 representación para el valor cero.
(INF210) – RCT. – 01/2005
TEMA 2 37
Representación interna de los datos
2.3.4 Suma en complemento a 1
Los números se suman de igual forma que en binario.
El acarreo, producido en la suma parcial de los bits de más a la izquierda, se
suma al resultado.
Ejemplos:
1. Sumar 2010 y 3510 en C-1 para n=8 bits.
C-1 2010 00010100
C-1 3510 00100011
C-1 5510 00110111
2. Sumar -2010 y 3510 en C-1 para n=8 bits.
C-1 -2010 11101011
C-1 3510 00100011
100001110
1
C-1 1510 00001111
(INF210) – RCT. – 01/2005
TEMA 2 38
Representación interna de los datos
3. Sumar 2010 y -3510 en C-1 para n=8 bits.
C-1 2010 00010100
C-1 -3510 11011100
C-1 -1510 11110000
4. Sumar 8010 y 6010 en C-1 para n=8 bits.
C-1 8010 01010000
C-1 6010 00111100
C-1 14010 10001100
Los valores 80 y 60 son válidos para el rango de representación dado
por n=8, sin embargo, el resultado de la suma no lo es.
El bit de signo del resultado es 1, lo cual indica que la suma de dos
valores positivos da como resultado un número negativo, por lo tanto el
resultado es incorrecto.
5. Sumar -8010 y -6010 en C-1 para n=8 bits.
C-1 -8010 10101111
C-1 -6010 11000011
C-1 -14010 101110010
1
01110011
(INF210) – RCT. – 01/2005
TEMA 2 39
Representación interna de los datos
Los valores -80 y -60 son válidos para el rango de representación dado
por n=8, sin embargo, el resultado de la suma no lo es.
El bit de signo del resultado es 0, lo cual indica que la suma de dos
valores negativos da como resultado un número positivo, por lo tanto el
resultado es incorrecto.
2.3.5 Suma en complemento a 2
Los números se suman de igual forma que en binario.
El acarreo, producido en la suma parcial de los bits de más a la izquierda, se
desprecia.
Ejemplos:
1. Sumar 2010 y 3510 en C-2 para n=8 bits.
C-2 2010 00010100
C-2 3510 00100011
C-2 5510 00110111
2. Sumar -2010 y 3510 en C-2 para n=8 bits.
(INF210) – RCT. – 01/2005
TEMA 2 40
Representación interna de los datos
C-1 -2010 11101011
+1 1
C-2 -2010 11101100
C-2 3510 00100011
C-2 1510 100001111
3. Sumar 2010 y -3510 en C-2 para n=8 bits.
C-1 -3510 11011100
+1 1
C-2 -3510 11011101
C-2 2010 00010100
C-2 -1510 11110001
2.3.6 Codificación alfanumérica
Los datos que se manejan internamente en el computador se pueden
representar mediante códigos alfanuméricos.
El computador trabaja con un conjunto de caracteres que permiten
manejar datos, instrucciones, órdenes de control, etc.
Este conjunto se subdivide en :
Caracteres alfabéticos.
(INF210) – RCT. – 01/2005
TEMA 2 41
Representación interna de los datos
Caracteres decimales
Caracteres especiales
Caracteres: *, @, ...
Cada caracter se maneja internamente por medio de un conjunto de 8
bits, mediante un sistema de codificación binario, denominado Código
de Caracteres.
Cada computador tiene su código definido por el fabricante.
Por ejemplo: FIELDATA de 6 bits
ASCII de 7 bits
ASCII ext. de 8 bits
EBCDIC 8 bits
(INF210) – RCT. – 01/2005