Vous êtes sur la page 1sur 8

TEMA 1.

ARITMETICA
DEL ORDENADOR

1.

N
umeros

Definici
on. Los n
umeros naturales se definen a traves de los axiomas de Peano:
primer n
umero: lo llamamos 1
n natural, existe un siguiente: lo llamamos n + 1
Si n + 1 = m + 1 entonces n = m
Si A N es tal que 1 A y n A, n + 1 A entonces A = N
Definici
on. Los n
umeros enteros se definen como Z = N {n : n N} {0}.
n
Las fracciones son todos los cocientes
con n, m Z. Dentro de las fracciones
m
p r
establecemos la siguiente relacion: R ps = qr
q s
Definici
on.

reflexiva:

p p
R
q q

simetrica:

p r
r p
R R
q s
s q

transitiva:

p r r t
p t
R R R
q s s u
q u

que, por tanto, es de equivalencia.


Definimos los n
umeros racionales Q como las clases de equivalencia R en el conjunto de fracciones.
Los n
umeros racionales se caracterizan porque al estar escritos en forma decimal, o bien tienen un
n
umero finito de cifras decimales, o estas se obtienen con un perodo finito de repeticiones.

No todo n
umero es racional: Ejemplo 2.
Definici
on. Existe una axiomatica para definir los n
umeros reales, pero nos quedaremos con que son
todos los n
umeros con expresion decimal cualquiera (finita, infinita periodica e infinita no periodica).
Se dividen en racionales Q e irracionales (R\Q) y se representan en la recta real, llenando todos los
puntos de la misma.
Aunque hemos probado que existen n
umeros reales que no son racionales, en la practica (con un
ordenador) solo podremos manejar n
umeros con un n
umero finito de cifras.

2.

N
umeros aproximados

Sobre el papel hacemos


1
= 1 a a = a.
a
En un ordenador no es tan sencillo, el n
umero de posiciones de que se dispone para representar un
n
umero es necesariamente finito:
a

1
= 3 0,33333 = 0,99999 6= 1.
3

Pueden desarrollarse programas que simulen el comportamiento conceptual del hombre, pero internamente la aritmetica del ordenador ha de ser con n
umeros aproximados, y siempre reducida a
sumas.
una aproximacion. Llamaremos:
Definici
on. Sea N un n
umero exacto. Sea N
.
error absoluto de la aproximacion a Ea = N N
error relativo de la aproximacion a Er =

N N
.
N

por N . A veces es mas


El error absoluto da la cifra exacta con la que nos equivocamos al dar N
significativo el error relativo, o el %, que no es mas que Er 100 %.
Ejemplo. Estimar 110 por 100 da Ea = 10; Er =

10
>
= 0, 09 9 %.
110

10
= 0,00636... 0,6 %.
1570
Aunque la cantidad absoluta coincide en ambas estimaciones, el Er nos muestra que la segunda es
mucho mejor que la primera. La diferencia esta en la cantidad de n
umeros significativos de una
magnitud:
Estimar 1570 por 1560 da Ea = 10; Er =

Definici
on. El n
umero de datos significativos de una cantidad aproximada es el n
umero de dgitos
que se pueden dar con confianza al expresar la cantidad, mas un dgito estimado.
El dgito mas significativo es el primer dgito no nulo.
El dgito menos significativo es el situado mas a la derecha, sunque sea un 0, siempre y cuando el
n
umero este expresado en forma decimal.
Ejemplo. Ejemplo de una regla que tiene marcas para medir en cm. y mm.
Definici
on. La precision de un ordenador es el mayor n
umero de dgitos significativos que puede
guardar en una posicion de memoria.
Definici
on. Truncar un n
umero es guardar tantos dgitos significativos como la precision del ordenador, eliminando los menos significativos.
Ejemplo. Truncar con 8 dgitos significativos el n
umero 3,14159265589.
3,14159265589 3,141592

Departamento de Matem
aticas

Universidad P
ublica de Navarra

Definici
on. Redondear un n
umero es suprimir los dgitos menos significativos y modificar el u
ltimo
dgito no suprimido, dejando tantos dgitos como la precision del ordenador de forma que el n
umero
redondeado tenga el menor error posible. La modificacion del u
ltimo no suprimido obedece las siguientes reglas, que dependen del dgito de prueba que es el situado mas a la izquierda de los que se
suprimen:
Si el dgito de prueba es menor que 5 los dgitos anteriores no se cambian.
Si el dgito de prueba es mayor que 5 se suma una unidad al u
ltimo dgito no suprimido.
Si el dgito de prueba es igual a 5, entonces se suma una unidad al u
ltimo dgito no suprimido
si este es impar y no se cambia si es par.
Ejemplo.
3,1416
3,14159
3,141593
3,141592653589 ,
3,1415926
3,14159265
3,141592654
El error de redondeo es menor o igual que el de truncamiento, si bien, para redondear un n
umero
hay que realizar una operacion adicional. Lo normal es que el hardware aplique simplemente el
truncamiento y el redondeo se efect
ua generalmente mediante el software.
Debemos estar atentos a:
Propagacion de errores de redondeo
20
, N = 6,6666666, Er = 108 .
3
20
=N
+N
+N
= 19, 999999, Er = 5 108 .
M =3
= 20, M
3

N=

Errores serios por truncamiento


107
= 1.
(107 + 10) 10
107
107
107

=
= .
(10,0000001) 10
10 10
10 10

C
omo guardar n
umeros muy grandes o muy peque
nos?
Es evidente que guardar solo las cifras mas significativas tiene sentido para n
umeros cuyas cifras se
concentran entre 0 y 10p (p=precision) o 0 y 10p , pero no tenemos forma de representar n
umeros
cuyas cifras mas significativas excedan estos lmites. Por ello se acude a las siguientes notaciones:
Definici
on. Sea N un n
umero decimal. Diremos que N = A 10p esta escrito en forma
exponencial normalizada si el punto decimal esta inmediatamente antes del primer dgito no
nulo de A.
de notacion cientfica si el punto decimal esta inmediatamente despues del primer dgito no
nulo de A.
A se llama mantisa, p es el exponente.
Departamento de Matem
aticas

Universidad P
ublica de Navarra

Ejemplos.
1579,35 = 0,157935 104
= 1,57935 103
0,00135 = 0,135 102
= 1,35 103

(exp. normalizada)
(not. cientfica)
(exp. normalizada)
(not. cientfica)

Guardando bits para el exponente y la mantisa es posible almacenar n


umeros muy grandes o muy
peque
nos en un n
umero limitado de bits, sin cometer errores desproporcionados.

3.

Aritm
etica binaria

El circuito aritmetico basico es un circuito sumador. Todas las operaciones aritmeticas pueden
reducirse a sumas sucesivas. El sumadormas sencillo es el binario y por ellos todos los n
umeros se
suman mas facilmente escritos en binario. La tabla de sumas binarias es:
+ 0 1
0 0 1
1 1 10
Ejemplo.
+1

+1

+1

1
1
1

1
0
0

+
1

4.

1
1
0

Representaci
on interna de n
umeros

Los codigos alfanumericos basicos (ASCII) son muy adecuados para introducir datos en el ordenador,
pero para almacenar internamente valores numericos, con los que despues operaremos, son muy poco
eficientes.
Ejemplo. 16025 puede ser:
codigo postal (nunca se operara con el): lo almacenamos en ASCII con 40 bits (8 por cada
dgito): 16025 = 00110001|00110110|00110000|00110010|00110101
precio (probablemente se operara con el) : lo almacenamos en codigo binario en 14 bits.
16025 = 213 + 212 + 211 + 210 + 29 + 27 + 24 + 23 + 20 = 11111010011001(2
Nota. Cuando se introducen datos, a traves del teclado, los caracteres se depositan en memoria codificados en ASCII. Despues, el programa cuando identifica una secuencia como un valor numerico
operable, se encarga de hacer la conversion a una forma binaria, pero que sea manipulable algebraicamente.
Veamos varias formas de almacenar un n
umero en codificacion binaria.

Representaci
on en magnitud signo
1 bit signo: 0 + ; 1 resto bits para n
umero
Departamento de Matem
aticas

Universidad P
ublica de Navarra

Ejemplo.
17 en 8 bits:
+17 = +; 0 26 + 0 25 + 1 24 + 0 23 + 0 22 + 0 21 + 1 20
= 0 0010001
-20 en 8 bits:
20 = ; 0 26 + 0 25 + 1 24 + 0 23 + 1 22 + 0 21 + 0 20
= 1 0010100
Ejemplo.
11100010(2 = ; 1 26 + 1 25 + 0 24 + 0 23 + 0 22 + 1 21 + 0 20
= 98

Si usamos p bits el rango de n


umeros representables es


1 2p1 , 2p1 1 .
Debemos tener cuidado con el n
umero 0 , pues da dos codificaciones distintas. Lo representan
10000000 y 00000000.

Representaci
on en exceso
N n
umero a representar y p bits para hacerlo calculamos N + 2p1 y codificamos en binario.
Ejemplo.
17 en 8 bits:
+17 + 27 = 17 + 128 = 145
= 1 27 + 0 26 + 0 25 + 1 24 + 0 23 + 0 22 + 0 21 + 1 20
= 10010001(2
-20 en 8 bits:
20 + 27 = 20 + 128 = 108
= 0 27 + 1 26 + 1 25 + 0 24 + 1 23 + 1 22 + 0 21 + 0 20
= 01101100(2
Ejemplo.
11100010(2 = 1 27 + 1 26 + 1 25 + 0 24 + 0 23 + 0 22 + 1 21 + 0 20
= 1 27 + 64 + 32 + 2 = 27 + 98 = 27 + N N = +98
Si usamos p bits el rango de n
umeros representables es
 p1 p1

2 , 2
1 .
El n
umero 0 ya solo tiene una u
nica codificacion 10000000.
Departamento de Matem
aticas

Universidad P
ublica de Navarra

Representaci
on en complemento a dos
Es la manera de codificar que mas facilita las operaciones algebraicas, pues convierte las sustracciones
(restas) en adiciones (sumas), aunque parezca la mas extra
na. Definimos antes: el complemento a
uno de un n
umero binario es el n
umero que se obtiene al cambiar los ceros por unos y los unos por
ceros.
1 0 1 1 0 1 0 1
Complemento a 1: 0 1 0 0 1 0 1 0
Sea N el n
umero a representar y p la cantidad de bits. La representacion en complemento a dos
de un n
umero consiste en:
Si N es positivo lo escribimos en binario
Si N es negativo escribimos en binario el complemento a 1+1 de su valor absoluto
Ejemplo.
17 positivo:
+17 = 0 27 + 0 26 + 0 25 + 1 24 + 0 23 + 0 22 + 0 21 + 1 20
= 0 0010001
-20 negativo:
20 = 0 27 + 0 26 + 0 25 + 1 24 + 0 23 + 1 22 + 0 21 + 0 20
= 0 0010100
complemento a 1 de 20= 11101011 (cambiar 1 0)
sumamos 1
1
+
1

+1

+1

1
1
0

La decodificacion de un n
umero representado en complemento a dos se lleva a cabo efectuando
el proceso inverso.
Si el primer bit de la izquierda es 0 el n
umero es positivo. Entonces el n
umero representado
es el equivalente del n
umero binario que forma el resto de los bits.
Si el primer bit de la izquierda es 1 el n
umero es negativo. Entonces el n
umero representado
es el opuesto del equivalente decimal del n
umero binario que forma su complemento a 2.
Propiedad: Sea n n
umero binario. Entonces:
C1(n) + 1 = C1(n 1)
C1(n) 1 = C1(n + 1)

Departamento de Matem
aticas

Universidad P
ublica de Navarra

Ejemplo.
01100010(2 . Como el primer bit es 0, N es positivo
01100010(2 = 1 26 + 1 25 + 0 24 + 0 23 + 0 22 + 1 21 + 0 20
= 64 + 32 + 2 = 98
11100010(2 . Como el primer bit es 1, N es negativo

Complemento a 1:

1 1 1 0 0 0
0 0 0 1 1 1

Complemento a 2:

1 0
0 1
+ 1
1 0

00011110(2 = 0 26 + 0 25 + 1 24 + 1 23 + 1 22 + 1 21 + 0 20
= 30 N = 30

El rango de valores representable en p bits es


 p1 p1

2 , 2
1 .
El cero tiene una u
nica codificacion: 00...0

5.

Aritm
etica binaria mediante complemento a dos

Adici
on de n
umeros positivos (en p bits) (sin desbordamiento)
0
0
+ 0
0
+ 0 p1

p2
p2
p2

p3
p3
p3

p4
p4
p4

i {0, 1}
i {0, 1}
i {0, 1}

... 1
... 1
... 1

produce un n
umero positivo (primer bit=0).
Observamos que para asegurarnos que la suma de positivos no origine un falso negativo debemos
tomar los n
umeros en un rango mucho mas peque
no de valores, siendo como mucho 2p2 1.
Cuando los n
umeros exceden este valor se produce desbordamiento:
0
1
+ 0
1
+ 1 p1

p2
p2
p2

p3
p3
p3

p4
p4
p4

... 1
... 1
... 1

y la suma es un falso negativo. La maquina debe estar programada para enviar un mensaje de error.

Departamento de Matem
aticas

Universidad P
ublica de Navarra

Resta de n
umeros
El positivo mayor que el negativo; o al reves, puede producir un bit extra (p+1) que en cualquier
caso rechazaremos. Los p bits restantes siempre dan el resultado correcto.
En cualquier caso hacemos:
= + (C1() + 1), y descartamos bit extra
Si primer bit es 0 es positivo y tenemos escrito ( )2
Si primer bit es 1 es negativo y tenemos escrito C2( ) = C1( ) + 1
Por lo que toda resta se calcula como una suma, siempre que los n
umeros se guarden en complemento
a dos.

Representaci
on en punto flotante
Para almacenar n
umeros fraccionarios (truncacion de n
umeros reales) se introduce el punto flotante,
que consiste en guardar el n
umero expresado en forma exponencial normalizada, codificando tres
campos: signo, exponente y mantisa (cifras significativas).
Ejemplo. 31,2709 7 signo: +, exp:-2, mantisa:312709
Se almacena de la forma siguiente:
1 bit para el signo: 0 +, 1
7 bit para el exponente: Notacion en exceso
Resto bits para mantisa: equivalente binario directo
Para operar n
umeros en coma flotante, deben estar expresados en el mismo exponente para adicion
y sustraccion, de modo que:
1. Se escriben usando el mismo exponente para los dos n
umeros.
2. Exponentes y mantisas nuevas originan un nuevo almacenamiento en su equivalente en complemento a dos.
3. Se operan dejando el mismo exponente y operando mantisas.
4. Se reconvierte el resultado en punto flotante.
Para hacer multiplicaciones puede suprimirse el paso 1, puesto que basta sumar los exponentes
(escritos en exceso) y multiplicar las nuevas mantisas (que contengan signo y mantisa expresadas en
complemento a 2), ya que multiplica es sumar.
Para el cociente se procede igual pero restando los exponentes y dividiendo las mantisas nuevas
(dividir es restar).
m

z
}|
{
n m = n + n + ... + n
d

z
}|
{
n
= d + resto; n = m + m + ... + m +r
m
d: Contar cuantas veces podemos restar m de n hasta obtener un n
umero menor que n.
r: El n
umero que queda tras haber restado m d veces.
Departamento de Matem
aticas

Universidad P
ublica de Navarra

Vous aimerez peut-être aussi