Introducción al material de apoyo
Teoría de Sistemas
Máquinas de estados finitos
Máquinas de Turing
Ejercicios
Sistemas numéricos
Introducción
Estamos acostumbrados a utilizar únicamente base 10 para realizar operaciones diariamente, sin embargo, en diferentes contextos, es posible que sea útil trabajar con sistemas numéricos distintos. Un ejemplo es la programación de bajo nivel, en la cual se suele utilizar hexadecimal para distintas tareas, tal como referencias espacios en memoria.
El propósito de esta unidad es generalizar algunos conceptos matemáticos de forma que los mismos sean independientes a la base en la que se trabaja.
El nombre de una base indica la cantidad de símbolos que componen a un sistema numérico:
-
Base 2: {0,1}
-
Base 4: {0,1,2,3}
-
Base "10": {0,1,2,3,4,5,6,7,8,9}
-
Base 16 : {0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F}
Decir base "diez" es correcto, sin embargo, escribirlo como "Base 10" es técnicamente un abuso del lenguaje, pero igual es la notación más utilizada. Se dice que es un abuso de lenguaje porque toda base es técnicamente Base "10", pues el 10 representa al número que corresponde al número de símbolos en cada base, por ejemplo, para contar en varias bases del \(1\) a \((6)_{10}\)
Base 2: 1-10-11-100-0101-0111
Base 4: 01-02-03-10-11-12
Base 6: 01-02-03-04-05-10
Notación sigma
Para cuando estén llevando este curso, el plan contempla que estén llevando matemática discreta o cálculo. En dichas asignaturas se cubre el significado de la notación sigma y declaración de sumatorias, pero de forma simple
\[\sum_{i=k}^{n} f(i, n)\]
-
Representa una suma consecutiva de términos de una función que depende de \(i\) y \(n\).
-
El término \(i\) es un contador, el cual inicia en un valor \(k\), usualmente 1 o 0, aunque puede ser otro valor.
-
Cada iteración se suma 1 a i
-
Se detiene la suma una vez que i alcanza el valor n
Por ejemplo:
\[\sum_{i=1}^{5} i = 1 + 2 + 3 + 4 + 5\] \[\sum_{i=1}^{6} n = n+n+n+n+n+n = 6n \] \[\sum_{j=1}^{4} \frac{xn}{j} = 4x/1 + 4x/2 + 4x/3 + 4x/4 \]
Muy probablemente se encuentren variedades entre letras usadas en notación, por ejemplo, es posible encontrar una \(j\) en vez de la \(i\), pero lo que es importante notar es que el significado no cambia. El contador siempre va a ser la variable en la parte inferior de la letra sigma, y el valor tope siempre se va a encontrar sobre la letra.
Conversiones de base
Fórmula general
Todo número, de cualquier base, se puede expresar utilizando la fórmula general:
\[N = \sum_{i=1}^{m-1} r^{i-1}d_{i-1} + \sum_{j=-1}^{-n}r^{j}d_{j}\]
\[\begin{pmatrix} r: \text{base} \\ m: \text{cantidad de dig. enteros} \\ n: \text{cantidad de dig. fraccionales}\end{pmatrix}\]
La notación usada en el curso se abusa un poco de la notación, pues se puede notar que el contador j no aumenta, sino que disminuye, la forma "correcta" sería:
\[N = \sum_{i=1}^{m-1} r^{i-1}d_{i-1} + \sum_{j=1}^{n}r^{-j}d_{j}\]
Ambas notaciones son intercambiables, pero se favorece la primera sobre la segunda!!!
Nótese algo importante, la fórmula, al igual que toda otra operación matemática, aplica independientemente de la base en la que se trabaje. Lo que puede cambiar es que tan fácil es acostumbrarse a la operación.
Ejemplo:
\[ 101.1101_{2} = N_{10} =\sum_{i=1}^{3-1} 2^{i-1}d_{i-1} + \sum_{j=-1}^{-4}2^{j}d_{j}\] \[=[2^2 * 1 + 2^1 * 0 + 2^0 * 1] + [2^{-1}*1 + 2^{-2}*1 +2^{-3}*0+ 2^{-4}*1] \] \[ 5 + 1/2 + 1/4 + 1/16 = 5.8125\]
Usualmente, la fórmula general resulta más útil cuando se trata de convertir a base decimal. No significa que la fórmula no aplique para otras bases, pero resulta algo impráctica para cálculos rápidos, a menos de que se tenga una familiaridad considerable con la base en la que se trabaja. Por ejemplo, la opearción anterior en sentido inverso se denotaría como:
\[5.8125_{2} = N_{10} =\sum_{i=1}^{1-1} r^{i-1}d_{i-1} + \sum_{j=1}^{100}r^{-j}d_{j}\]