next up previous contents
Next: Conversión de Sistemas Numéricos Up: Sistemas Numéricos. Previous: Sistemas Numéricos.   Contents

Introducción.

Un sistema numérico, es un conjunto de dígitos y reglas que permiten expresar cifras o cantidades numéricas.
Se dice que un sistema numérico es POSICIONAL cuando el valor o magnitud de cada símbolo está determinado por su posición dentro de una cifra.
Se dice que un sistema numérico es de base b, cuando el valor de cada símbolo está dado por el producto de su valor absoluto por b elevado a n, donde n indica la posición del símbolo de derecha a izquierda (comenzando con el cero), dentro del conjunto en la cifra numérica.
Un ejemplo conocido por nosotros es el sistema decimal, donde un número se representa como una combinación de los símbolos de 0 a 9 (llamados dígitos) y la posición relativa de éstos en la cifra. Por tanto:

Por ejemplo, el número 1470 en base 10 (también $(1470)_{10}$) significa:


\begin{displaymath}(1470)_{10} = 1 \ast 10^3 + 4 \ast 10^2 + 7 \ast 10^1 + 0 \ast 10^0\end{displaymath}

Por otro lado, el computador está diseñado para trabajar con la base numérica 2 o binaria. En este sistema numérico tenemos que:

Por ejemplo, el número binario $(1101)_2$ (en base 2) significa:


\begin{displaymath}(1101)_2 = 1 \ast 2^3 + 1 \ast 2^2 + 0 \ast 2^1 + 1 \ast 2^0 = 8 + 4 + 0 +1 = (13)_{10}\end{displaymath}

También existen otros sistemas numéricos que veremos en este curso. Pero en general los sistemas numéricos que estudiaremos en este curso son los siguientes:

  1. Sistema numérico binario: 0,1
  2. Sistema numérico octal: 0,1,2,3,4,5,6,7
  3. Sistema numérico decimal: 0,1,2,3,4,5,6,7,8,9
  4. Sistema numérico hexadecimal: 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F

Los dígitos de los sistemas numéricos octal, decimal, y hexadecimal también pueden ser representados en el sistema binario. El cuadro de la figura 2.1 muestra esta asociación:

Figure 2.1: Equivalencias en diferentes sistemas numéricos.
\begin{figure}\begin{center}
\begin{tabular}{\vert c\vert c\vert c\vert c\vert c...
...101 & 17 & 001111 & 0x0F & 1111 \\
\hline
\end{tabular}\end{center}\end{figure}

Números en cualquier base pueden ser transformadas a la base 10 y viceversa. Tal como lo vimos anteriormente, con la transformación de un número en base 2 a base decimal. Así mismo, también lo podemos hacer con las bases 8 y 16. Los siguientes ejemplos muestran estas situaciones:


\begin{displaymath}(3257)_8 \rightarrow 3 \ast 8^3 + 2 \ast 8^2 + 5 \ast 8^1 + 7 \ast 8^0 = 1536 +
128 + 40 + 7 = (1711)_{10}\end{displaymath}


\begin{displaymath}(1AF4)_{16} \rightarrow 1 \ast 16^3 + 10 \ast 16^2 + 15 \ast 16^1 + 4 \ast 16^0 =
4096 + 2560 + 240 + 4 = (6900)_{10}\end{displaymath}

Entonces, cualquier número en base b, puede ser transformado a la base 10, de acuerdo a la siguiente expresión:


\begin{displaymath}N_{10} = a_{n-1}b^{n-1} + ... + a_0b^0 + a_{-1}b^{-1} + a_{-2}b^{-2} + ... +
a_{-m}b^{-m}\end{displaymath}

El sistema decimal también puede ser representado por medio de otro sistema de representación llamado BCD (Binary Coded Decimal). BCD es un código ponderado de bastante uso, en que cada cifra decimal se representa con cuatro cifras binarias de cierta ponderación. El más usado de estos códigos es el BCD 8421 cuya ponderación es igual al binario puro para números entre 0 y 9.
Los números en la base hexadecimal, generalmente son utilizados para manejar direcciones de memoria. De hecho en lenguajes como C, con el cual podemos manipular direcciones de memoria a nivel de bits, (realizar operaciones aritméticas con ellas) son representadas con valores hexadecimales. En C podemos imprimir una dirección de memoria, utilizando el carácter de formato ''%x''. Por ejemplo, si definimos la siguiente variable puntero:

int $\ast$k;

podemos mostrar por pantalla la dirección de memoria que contiene:

printf("%x",k);


next up previous contents
Next: Conversión de Sistemas Numéricos Up: Sistemas Numéricos. Previous: Sistemas Numéricos.   Contents
Pedro Rodríguez M. 2003-09-10