Professional Documents
Culture Documents
Apunte
de
Sistemas Numricos
Las computadoras pueden almacenar datos de diferente ndole, como ser el saldo
de una cuenta corriente, el nombre de una persona o la temperatura de una determinada
regin. Para ello debe existir una forma de representar el valor $128,5, una de
representar JORGE y una de representar el valor -10. Estos temas son los que se
tratarn a continuacin.
Sistemas de Numeracin no posicionales
Los sistemas de numeracin no posicionales son aquellos en los cuales el valor
de un smbolo es independiente de la posicin que ocupa. Un claro ejemplo de esto es el
sistema romano. Analicemos un ejemplo:
221 en nmeros romanos es CCXXI
En el 221 decimal el primer 2 tiene un valor de 200 y el segundo de 20, entonces
decimos que el smbolo 2 adquiere un valor de acuerdo a la posicin que est ocupando;
en cambio en CCXXI ambas C valen 100 y ambas X valen 10 por lo cual el valor de C y
X es igual para cualquier posicin.
Sistemas de Numeracin posicionales
En los sistemas de numeracin posicionales el valor de un smbolo depende del
lugar que este ocupe dentro del nmero. El ms conocido es el sistema decimal.
Generalizando, en un sistema de numeracin posicional de base b (la base
siempre es igual a la cantidad de smbolos que posee el sistema, en el decimal es igual a
10 dado que tenemos un total de 10 dgitos diferentes -0,1,2,3,4,5,6,7,8,9-) la
representacin de un nmero se define a partir del Teorema Fundamental de la
Numeracin:
(ABC,DEF) = Ab2 + Bb1 + Cb0 + Db-1 + Eb-2 + Fb-3
Por ejemplo (423,1)6 = (4x62 + 2x61 + 3x60 + 1x6-1)10
Las generalizaciones ms simples del sistema decimal se obtienen cuando b es
un entero no negativo mayor a 1 y cuando los {A,B,C,etc} pertenecen al conjunto de
enteros en el rango [0,b). As, cuando b es 2 se obtiene el sistema de numeracin
binario, cuando b es 8 el octal y cuando b es 16 el hexadecimal. Pero en general, se
podra elegir cualquier b distinto de cero, y los {A,B,C,etc} de cualquier conjunto de
nmeros, obteniendo sistemas muy interesantes. (Ej. Base ternaria balanceada: formada
por los smbolos 1, 0, 1)
El punto (o la coma) que se encuentra entre C y D se llama punto fraccionario.
Cuando b es 10 se lo llama punto decimal y cuando b es 2, punto binario.
Los {A,B,C} se llaman dgitos de la representacin. Se dice que un dgito A
es ms significativo que B si A est ubicado a la izquierda de B en el nmero. As, el
Aritmtica de Base b
Las operaciones entre nmeros de base b se lleva a cabo conforme las tablas de
adicin y multiplicacin correspondientes a dicha base.
Ejemplos:
Sistema Decimal
+
0
1
2
3
4
5
6
7
8
9
0
0
1
2
3
4
5
6
7
8
9
1
1
2
3
4
5
6
7
8
9
10
2
2
3
4
5
6
7
8
9
10
11
3
3
4
5
6
7
8
9
10
11
12
4
4
5
6
7
8
9
10
11
12
13
5
5
6
7
8
9
10
11
12
13
14
6
6
7
8
9
10
11
12
13
14
15
7
7
8
9
10
11
12
13
14
15
16
8
8
9
10
11
12
13
14
15
16
17
789
+201
990
9
9
10
11
12
13
14
15
16
17
18
*
0
1
2
3
4
5
6
7
8
9
0
0
0
0
0
0
0
0
0
0
0
1
0
1
2
3
4
5
6
7
8
9
2
0
2
4
6
8
10
12
14
16
18
789
x 2
1578
3
0
3
6
9
12
15
18
21
24
27
4
0
4
8
12
16
20
24
28
32
36
5
0
5
10
15
20
25
30
35
40
45
6
0
6
12
18
24
30
36
42
48
54
7
0
7
14
21
28
35
42
49
56
63
8
0
8
16
24
32
40
48
56
64
72
789
-201
588
Sistema de Base 4
+
0
1
2
3
0
0
1
2
3
1
1
2
3
10
2
2
3
10
11
1234
+ 2014
3304
3
3
10
11
12
*
0
1
2
3
0
0
0
0
0
1
0
1
2
3
2
0
2
10
12
3
0
3
12
21
1234
x 2014
1234 + 312004 = 313234
9
0
9
18
27
36
45
54
63
72
81
Cambio de Base
Suponer que se quiere convertir un nmero de base b a p. La mayora de los
algoritmos existentes se basan en multiplicaciones y divisiones. Hay tres casos
elementales.
Nmeros Enteros
A. Nb ( )10
ABCDb = (Ab3 + Bb2 + Cb1 + Db0)10
Ejemplos:
346 = (3x61 + 4x60)10 = (22)10
A716 = (10x161 + 7x160)10 = (167)10
B. N10 ( )b
Consiste en realizar divisiones sucesivas y tomar los restos de abajo hacia arriba.
Ejemplos:
3410 ( )2
34 |2
0 17 |2
1 8 |2
0 4 |2
0 2 |2
0 1 |2
1 0
3410 ( )16
34 |16
2 2 |16
2 0
(100010)2
(22)16
Nb ( )p
Para resolver este cambio de base se utiliza la combinacin de los dos mtodos
anteriormente explicados.
En primer lugar se realiza el siguiente cambio: Nb ( )10 y finalmente
( )10 ( )p.
Ejemplo:
C.
324 ( )6
324 = (3x4 + 2)10 = 1410
1410 ( )6 14 |6
2 2 |6
2 0
(22)6
324 = 226
Partes Fraccionarias
A.
0,Nb ( )10
0,ABC b = (Ab-1 + Bb-2 + Cb-3)10
Ejemplo:
0,1324 = (1x4-1 + 3x4-2 + 2x4-3)10 = 0,4687510
B.
0,N10 ( )b
0,125 x 2 = 0,250
0,250 x 2 = 0,500
0,500 x 2 = 1,000
0
0
1
0,12510
0,0012
C.
0,Nb ( )p
0,0012 = 0,024
Recordar:
Si se tiene un nmero que posee parte entera y fraccionaria se realiza el
cambio para cada parte por separado y luego se suman los resultados
obtenidos.
Ejemplo:
354,10216 ( ) 10
354,10216 = 35416 ( )10 + 0,10216 ( )10
354,10216 = 3x162 + 5x161 + 4x160 + 1x16-1 + 2x16-3
tomo de 3 dgitos
B. b1/x = p
Cada dgito en la base b se expandir en x dgitos en la base p.
Ejemplo:
AE7516 ( )2
dgitos binarios
516 = 01012
716 = 01112
E16 = 11102
A16 = 10102
161/4 = 2
se expande en 4
(1010111001110101)2
2710 = 110112
000011012
Expansin y truncamiento
Expandir formato: se completa con ceros a izquierda. Ejemplo:
000110112 8 bits
000000000001100112 16 bits
Truncar formato: Si es posible se sacan ceros a izquierda.
000011012 8 bits
11012 4 bits
000111012 8 bits
Complemento
El complemento de un nmero dado en una base es aquel que sumado al nmero
original da la base (base a la n).
AB=d
A B + b n = d + bn
B complemento
A + Bcomp = d + bn
Ejemplo:
A = 10376
B = 234
A + Bcomp = d + bn
Bcomp = 100000 234 = 99766
10376 + 99766 = d + 100000
110142 = d + 100000
10142 = d
A = 1012
B = 10002
=> n = 4
B A= d
B A + bn = d + b n
B + Acomp = d + bn
1000 + 1011 = d + bn
10011 = d + 1000
11 = d
Base: 2
Representa: Enteros positivos y negativos.
Mximo: 2n-1 1
Mnimo: -2n-1
Base: 16.
Representa: Enteros + y -.
Mximo: 102n-1-1
Mnimo: -102n-1+1
9 9 9 9 9 9 9 S
0 0 0 0 1 2 7 D
Formato Zoneado
Base: 16.
Representa: Enteros positivos y negativos.
Mximo: 10n - 1
Mnimo: -10n + 1
F 9 F 9 F 9 S 9
8 bits
S = signo 1 S n n n n n n n
7 bits de
Mantisa
0,dddddd x 10e16
(-) 0(+)
Caracterstica
Caracterstica:
C = E + 40 16
E = exponente
10
Ejemplo:
- 321,54 10 Binario de punto flotante precisin simple.
1)
2)
3)
4)
- 321,5410 = - 141,8A316
- 0,1418A3 x 103 16
C = E + 40 = 3 + 40 = 4316 en base 2 sera 1000112
Agregamos el bit de signo: 11000112 que en base 16 es C316
C31418A316
0,15A4 X 105
0,00000005AF x 105
0,15A400 x 10516
Fenmeno de Absorcin.
A absorve a B.
Lo mnimo que se puede sumar es el ancho de paso del nmero
de mayor exponente.
El formato anteriormente explicado no es el nico que existe
para representar nmeros flotantes. Esto generaba una situacin
problemtica por lo cual surgi el estandar 754.
11
Signo
23
Exponente
Fraccin
Doble precisin
Bits
Signo
11
Exponente
52
Fraccin
12
Precisin simple
1
8
23
32
Exceso 127
-126 a 127
2-126
aprox 2+128
aprox 10-38 a 1038
aprox. 10-45
Precisin doble
1
11
52
64
Exceso 1023
-1022 a 1023
2-1022
aprox. 2+1024
aprox 10 -308 a 10 308
aprox 10.324
0 (positivo)
Exponente:
011111102 = 126
Exceso 127: 126 - 127 = -1
Bits de la fraccin:
0000000000000000000000
Agregando el 1 implcito:
1.0000000000000000000000
1,000000000000000002 x 2-1 = 0,12 x 20 = 0,5
La verificacin de los otros dos nmeros se deja para el lector.
Uno de los problemas que surgen al trabajar con nmeros de punto flotante es el
manejo del overflow, underflow y nmeros no inicializados. El estndar trata con estos
problemas de manera explcita, y define adems de los nmeros normalizados, otros
cuatro tipos de nmeros, que se muestran a continuacin.
13
Normalizado
0 Exp Max
Desnormalizado
Cero
Infinito
1111
NAN
1111
Cuando se dice que el exponente es cero se quiere decir que todos los bits que representan al exponente son cero.
Como el exponente se representa en notacin exceso m, su verdadero valor depender de la precisin: -127 para los
nmeros de precisin simple y -1023 para los de doble.
14
infinito y cualquier nmero finito dividido infinito es cero. De manera similar, cualquier
nmero finito dividido cero resulta en infinito.
Qu pasa al evaluar infinito dividido infinito ? El resultado no est definido.
Para manejar este caso se provee otro formato especial, llamado Nan (Not a number),
que tambin se puede usar como un operando con resultados predecibles.
Cadenas de caracteres
En una cadena de caracteres cada carcter ocupa 1 byte y se representa segn el
cdigo de caracteres que se est utilizando (ASCII o EBCDIC).
Ejemplos:
1.
15