Página web del curso

En este curso presentaremos los métodos numéricos básicos que resuelven un conjunto de problemas matemáticos clásicos. Los ordenadores son una herramienta necesaria en el uso eficiente de los métodos numéricos. Por lo tanto, veremos como los números, que pueden tener infinitos dígitos, se almacenan en el ordenador, que es un dispositivo finito.

Los números se almacenan en los ordenadores con los formatos:

  • Números enteros
  • Números en coma flotante

Los números enteros se almacenan de forma exacta como números enteros y por lo tanto no hay error (salvo error de overflow) y no los vamos a estudiar. Veremos unicamente la representación binaria sesgada de los enteros con signo porque es la forma en que se almacenan los exponentes de los números en coma flotante.

Estudiaremos el almacenamiento de números en binario. Por lo tanto, el primer paso que realizaremos será repasar cómo convertir un número de decimal a binario y de binario a decimal.


Introducción

Paso del sistema binario a decimal

En el sistema decimal el número $107,625$ significa:

$$ 107,625=1\cdot10^{2}+7\cdot10^{0}+6\cdot10^{-1}+2\cdot10^{-2}+5\cdot10^{-3}. $$

En general, los ordenadores usan el sistema binario: solo se almacenan $0$ y $1$. En el sistema binario, los números representan potencias de $2$. El paso de binario a decimal es directo.

$$(110111,101)_2$$

Necesitamos conocer la posición de cada dígito respecto de la coma

$$ \begin{array}{ccccccccccc} \tiny{(6)}&\tiny{(5)}&\tiny{(4)}&\tiny{(3)}&\tiny{(2)}&\tiny{(1)}&\tiny{(0)}& & \tiny{(-1)}&\tiny{(-2)}&\tiny{(-3)}\\ 1&1&0&1&0&1&1&,&1&0&1 \end{array} $$

que expresa el número

$$ 1\cdot2^{6}+1\cdot2^{5}+0\cdot2^{4}+1\cdot2^{3}+0\cdot2^{2}+1\cdot2^{1}+1\cdot2^{0}+1\cdot2^{-1}+0\cdot2^{-2}+1\cdot2^{-3}$$

que es

$$ (107,625)_{10} $$

Paso del sistema decimal a binario

Parte entera

Dividimos sucesivamente por $2$ hasta que el cociente es cero y los restos son los dígitos en base $2$.

$$ \begin{array}{cccc} \hline \mathrm{Dividendo} & \mathrm{Divisor} & \mathrm{Cociente} & \mathrm{Resto}&\\ \hline 107 & 2 & 53 & 1 & \uparrow \\ 53 & 2 & 26 & 1 & \uparrow \\ 26 & 2 & 13 & 0 & \uparrow \\ 13 & 2 & 6 & 1 & \uparrow \\ 6 & 2 & 3 & 0 & \uparrow \\ 3 & 2 & 1 & 1 & \uparrow \\ 1 & 2 & 0 & 1 & \uparrow \\ \hline \end{array} $$

El número empieza por el último resto y el número en binario es $1101011.$

Parte fraccionaria

Multiplicamos por $2$, restamos la parte entera y repetimos hasta que la parte fraccionaria sea cero.

$$\begin{array}{lccccccc} 0,625 &\times& 2 &= &1,25 &\rightarrow & 1 & \downarrow\\ 0,25&\times& 2& = &0,5 &\rightarrow & 0& \downarrow\\ 0,5&\times& 2& = &1,0&\rightarrow & 1& \downarrow \end{array}$$

Empezamos por el la primera parte entera y el número en binario es $0,101$


Ejercicio

Cambio de base:

  • Dado el número $101100,001$ en base $2$ calcular su representación decimal.
  • Dado el número $51$ en base $10$ calcular su representación binaria.
  • Dado el número $51,65625$ en base $10$ calcular su representación binaria.

Dado el número 101100,001 en base 2 calcular su representación decimal.

Necesitamos tener en cuenta la posición de cada dígito respecto a la coma

$$ \begin{array}{cccccccccc} \tiny{(5)}&\tiny{(4)}&\tiny{(3)}&\tiny{(2)}&\tiny{(1)}&\tiny{(0)}& & \tiny{(-1)}&\tiny{(-2)}&\tiny{(-3)}\\ 1&0&1&1&0&0&,&0&0&1 \end{array} $$

Y entonces, el valor de este número en base $10$ es

$$\begin{array}{l} 1\cdot 2^{5}+0\cdot 2^{4}+1\cdot 2^{3}+1\cdot 2^{2}+0\cdot 2^{1}+0\cdot 2^{0} +0\cdot 2^{-1}+0\cdot 2^{-2}+1\cdot 2^{-3}=\\=2^{5}+2^{3}+2^{2}+2^{-3}=44,125 \end{array} $$

 Dado el número 51 en base 10 calcular su representación binaria.

Dividimos sucesivamente por $2$ hasta que el cociente es cero y los restos son los dígitos en base $2$.

$$ \begin{array}{cccc} \hline \mathrm{Dividendo} & \mathrm{Divisor} & \mathrm{Cociente} & \mathrm{Resto}&\\ \hline 51 & 2 & 25 & 1 & \uparrow \\ 25 & 2 & 12 & 1 & \uparrow \\ 12 & 2 & 6 & 0 & \uparrow \\ 6 & 2 & 3 & 0 & \uparrow \\ 3 & 2 & 1 & 1 & \uparrow \\ 1 & 2 & 0 & 1 & \uparrow \\ \hline \end{array} $$

El número empieza por el último resto y el número en binario es $110011.$

Dado el número 51,65625 en base 10 calcular su representación binaria.

La parte entera ya está convertida en el apartado anterior. Convirtamos ahora su parte fraccionaria.

Multiplicamos por $2$, restamos la parte entera y repetimos hasta que la parte fraccionaria sea cero.

$$\begin{array}{lccclccc} 0,65625 &\times& 2 &= &1,3125 &\rightarrow & 1 & \downarrow\\ 0,3125&\times& 2& = &0,625 &\rightarrow & 0& \downarrow\\ 0,625&\times& 2& = &1,25&\rightarrow & 1& \downarrow\\ 0,25&\times& 2& = &0,5&\rightarrow & 0& \downarrow\\ 0,5&\times& 2& = &1,0&\rightarrow & 1& \downarrow \end{array}$$

Empezamos por el la primera parte entera y el número en binario es $0,10101$

Y teniendo en cuenta la parte entera

$$(51,65625)_{10} = (110011,10101)_2$$