Sistemas de Numeración
Números Decimales y Binarios
Para seguir con este tema, es útil repasar esta sección: Desarrollos en base b (MD1)
El sistema numérico decimal es base , porque usa dígitos y los coeficientes se multiplican por potencias de .
El sistema binario es base , porque usa dígitos (los coeficientes solo pueden ser ).
Cada coeficiente se multiplica por .
Un número con punto decimal se representa con una serie de coeficientes:
Donde es el coeficiente más grande y es el coeficiente más pequeño.
El punto decimal se usa para separar la parte entera de la parte fraccionaria.
El sistema binario sería:
Un ejemplo de número decimal a binario es . En lugar de denominar a los binarios como binary digits se les llama bits.
Podemos realizar operaciones aritméticas con números binarios de la siguiente forma:
Como no es posible en binario, se deja un y se lleva un al siguiente coeficiente.
Existen distintos registros (tamaños de bits) para representar números binarios, como los bytes ( bits).
Conversiones de base numérica
La conversión de una fracción decimal a un número en base , pero en lugar de dividir se multiplica por y se toma la parte entera.
Ejemplo: Convertir a binario y a base .
Tenemos que .
Tenemos que .
Números Octales y Hexadecimales
Las conversiones entre binario, octal y hexadecimal son fundamentales en las computadoras, ya que . Por lo que cada dígito en octal representa bits y cada dígito en hexadecimal representa bits.
La siguiente tabla muestra los núemros con diferente base:
Decimal | Binario | Octal | Hexadecimal |
---|---|---|---|
Podemos hacer conversiones de base numérica acomodando los dígitos de forma correspondiente.
Ejemplo: Convertir a octal y hexadecimal.
Puede darse el caso que el número no sea exactamente divisible por o , por lo que se agregan ceros a la izquierda (en la parte entera) o a la derecha (en la parte fraccionaria) para completar el número.
Ejemplo: Expresar y en hexadecimal.
Complementos
Los complementos son una forma de representar números negativos.
Dado un número en base con dígitos, el complemento a es .
En el caso de los binarios , por lo que el complemento a es .
El complemento a se obtiene cambiando los por y los por .
El complemento a se obtiene sumando al complemento a
Ejemplo:
El complemento a de es .
El complemento a de es .
En la definición anterior se considera que el número no lleva punto. De ser el caso, se quita temporalmente para formar el complemento a y luego se vuelve a colocar en su lugar.
Ejemplo:
El complemento a de es .
Podemos expresar un número decimal negativo a binario (negativos en complemento a ):
Ejemplo: Convertir a binario, donde su tamaño de registro es de bits.
Primero calculamos el valor absoluto de en binario y agregamos ceros a la izquierda para completar los bits.
Ahora obtenemos el complemento a de .
Por lo que .
Si quisiéramos aumentar el tamaño del registro, al ser negativo, se agregan unos a la izquierda.
Para hacer una resta entre dos números binarios, es más sencillo hacer el complemento a del sustraendo y sumar ambos números.
Números Flotantes
Los números flotantes son una representación de números reales extremadamente grandes o pequeños en notación científica. Este formato puede ser de precisión simple o doble, dependiendo de la cantidad de bits que se usen. En lenguajes como C se usan los tipos
float
ydouble
para representarlos.
Su formato sería el siguiente:
- corresponde a un bit de signo.
- es la mantisa, un número fraccionario. Si es de precisión simple, se usan bits y si es de precisión doble, se usan bits.
- es el exponente, un número entero. Si es de precisión simple, se usan bits y si es de precisión doble, se usan bits. Su valor se calcula como , donde es el valor del exponente y es el sesgo.
- El sesgo es un número que se le suma al exponente para que no sea negativo. En precisión simple, y en precisión doble, .
Por ejemplo, el número en precisión simple sería:
Para seguir el formato, necesitamos desplazar el cuantas veces sea necesario para solo tener una unidad entera. En este caso, tres veces
Tenemos que:
- (es negativo)
- (agregamos ceros para llegar a bits)
Sumando todos los bits, tenemos bits. Agrupando (en ese orden) de a cuatro podemos dar con el número hexadecimal
Infinitos y NaN
En los números flotantes, existen valores especiales como el infinito y el NaN (Not a Number).
El se representa con exponente , y mantisa .
Este se utiliza cuando un número excede el rango de representación.
El NaN se representa con exponente , y mantisa .
Este se utiliza cuando se realiza una operación inválida, como dividir por .