Professional Documents
Culture Documents
1 · 24 + 0 · 23 + 1 · 22 + 1 · 21 + 0 · 20 = 16 + 0 + 4 + 2 + 0 = (22)10
1
Cuando hay lugar a confusión se acostumbra escribir el número de la base como
subı́ndice del número.
Podemos utilizar facilmente un algoritmo eficiente para hallar una representación
en base 2 de cualquier número natural m. En efecto si m = b0 · 20 + b1 · 21 + b2 ·
22 + . . . + bn · 2n , entonces
m b0
= + b1 · 20 + b2 · 21 + b3 · 22 + . . . + bn · 2n−1
2 2 | {z }
R0
b0
= + R0
2
luego m = 2R0 + b0 , es decir que b0 es el resto de divivir m entre 2 y R0 es el
cociente.
De igual manera:
R0 b1
= + b2 · 20 + b3 · 21 + b4 · 22 + . . . + bn · 2n−2
2 2 | {z }
R1
entonces R0 = 2R1 + b1 donde b1 es el resto de la división de R0 entre 2 y R1
es el cociente.
Si continuamos este proceso encontraremos todos los bk , 0 ≤ k ≤ n.
Ejercicio resuelto 1.
Obtener, mediante el proceso indicado arriba, la representación binaria del
número 1867
m = 1867 = 2 · 933 + 1 b0 =1
R0 = 933 = 2 · 466 + 1 b1 =1
R1 = 466 = 2 · 233 + 0 b2 =0
R2 = 233 = 2 · 116 + 1 b3 =1
R3 = 116 = 2 · 58 + 0 b4 =0
R4 = 58 = 2 · 29 + 0 b5 =0
R5 = 29 = 2 · 14 + 1 b6 =1
R6 = 14 = 2 · 7 + 0 b7 =0
R7 = 7 = 2 · 3 + 1 b8 =1
R8 = 3 = 2 · 1 + 1 b9 =1
R9 = 1 = 2 · 0 + 1 b10 =1
R10 = 0
Entonces (1867)10 = (11101001011)2
Ejercicios
2
1. Escriba (11001101)2 en base decimal
2. Obtener la representación binaria del número 5709
Notese que F1 ∈ (0, 1), entonces c1 es la parte entera de 2x, es decir: c1 = [2x]
y F1 es su parte fraccionaria.
entonces c2 = [2F1 ]
Continuando con este proceso encontramos todos los ck , 1 ≤ k ≤ n
Ejercicio resuelto 2.
Escriba el número decimal x = 0.6 como una fracción binaria.
2x = 1.2 c1 =1 F1 = 0.2
2F1 = 0.4 c2 =0 F2 = 0.4
2F2 = 0.8 c3 =0 F3 = 0.8
2F3 = 1.6 c4 =1 F4 = 0.6
2F4 = 1.2 c5 =1 F5 = 0.2
2F5 = 0.4 c6 =0 F6 = 0.4
.. .. ..
. . .
3
Es evidente que a partir de c4 se repiten los siguientes cuatro valores: c5 = c1 ,
c6 = c2 , . . . , es decir que la trepresentación binaria de x resulta periódica:
(0.6)10 = (0.1001)2
En muchos casos la representación binaria requiere de un número infinito de
cifras, aunque su correspondiente representación decimal no lo requiera. Si
deseamos volver a la base 10, basta observar que:
x = 0.1001
= 2−1 + 2−4 + 2−5 + 2−8 + 2−9 + 2−12 + . . .
∞
X X∞
= 2−1 2−4k + 2−4k
k=0 k=1
∞
X
= (2−1 + 1) 2−4k − 1
k=0
3 1
= −1
2 1 − 2−4
3
= = 0.6
5
Ejercicios
x = ±0.a1 a2 a3 . . . · B L
Esta representación se llama de punto flotante de x para la base B. L se llama
exponente ó caracterı́stica y la cadena a1 a2 a3 . . . se llama mantisa.
Si x 6= 0, a través de cambios en el exponente L puede lograrse siempre que la
primera cifra de la mantisa no sea cero; ası́ por ejemplo, 0.0001·B L = 0.1·B L−3 .
De esta manera se obtiene una representación de punto flotante normalizada.
Una representación en forma de punto flotante normalizada del número π =
3.14159265 . . . para la base 10 es: 0.314159265 . . . · 101
4
2. Le sigue un exponente de 11 bits, c
3. y una mantisa de 52 bits, f
Uno de los cálculos más comunes que producen errores tiene que ver con la
cancelación de cifras significativa debido a la resta de números casi iguales:
Ejercicio resuelto 3.
Sean p = 0.54617 y q = 0.54601. Calcular p − q con una aritmética de cuatro
cifras. Determinar el error relativo
El valor exacto de r = p − q es r = 0.00016. Al redondear p y q a cuatro
cifras, tenemos p∗ = 0.5462 y q ∗ = 0.5460, entonces r∗ = p∗ − q ∗ = 0.0002 es la
aproximación de cuatro cifras de r. Como
|r − r∗ | |0.00016 − 0.0002|
= = 0.25
|r| 0.00016
el resultado sólo tiene una cifra significativa, en tanto que la precisión para p∗
y q ∗ fue de cuatro y cinco cifras significativas, respectivamente.
Si se usa el truncamiento para obtener las cuatro ciras, las aproximaciones de
cuatro cifras de p, q y r son p∗ = 0.5461 q ∗ = 0.5460 y r∗ = 0.0001. Con esto
se obtiene
|r − r∗ | |0.00016 − 0.0001|
= = 0.375
|r| 0.00016
5
lo que también produce sólo una cifra de precisión
Ejercicios
M = M(B.M, −k, K)
= {0} ∪ {0.a1 a2 a3 . . . aM · B L : a1 , a2 , . . . , aM ∈ {0, 1, 2, . . . , B − 1}, a1 6= 0
L ∈ {−k, −k + 1, . . . , K − 1, K}}
Mantilla
Ejercicio resuelto 4.
Construir explicitamente la máquina correspondiente a M(2, 2, −2, 2)
Teniendo en cuenta la definición anterior,
6
1 3 1 3 1 3 3
M+ = { , , , , , , 1, , 2, 3}
8 16 4 8 2 4 2
contiene todos los números positivos de M escritos en forma ascendente. Como
se observa su distribución en la recta real no es uniforme, cerca al origen hay
mayor densidad y los números mayores que 3 no pueden ser dominados por
esta “mini2 -máquina”. Si en algún proceso de cálculo se sobrepasa este valor
máximo xmax , se produce un error conocido con el nombre de overflow y el
proceso se detiene. Los números reales x : 18 < x < 3 que no pertenecen a M+
se aproximan al siguiente número (a la derecha) de máquina más cercano. Por
ejemplo, 2.6 −→ 3. De igual manera los números negativos entre -3 y − 81 que
no estan en la máquina se aproximan al anterior número (a la izquierda) de
M : −0.7 → −0.75 = −3 4 . Los números reales que se encuentran en el intervalo
( −1 ,
8 8
1
) son reemplazados por cero, por ejemplo 0.12 → 0, pero la máquina
no detiene el proceso de cálculo cuando hace estos “arrastres”. En este caso
hablamos de underflow.(Mantilla)
Ejercicios
7
3 Bibliografı́a
Mantilla Ignacio, Análisis Numérico, Universidad Nacional de Colombia