Números, Código de Computadoras y Aritmética

     Un sistema de numeración es un conjunto de símbolos y reglas que permiten representar datos numéricos. Los sistemas de numeración actuales son sistemas posicionales, que se caracterizan porque un símbolo tiene distinto valor según la posición que ocupa en la cifra. 
NUMERACIÓN BINARIA

     El sistema de numeración binario utiliza sólo dos dígitos, el cero (0) y el uno (1). En una cifra binaria, cada dígito tiene distinto valor dependiendo de la posición que ocupe. El valor de cada posición es el de una potencia de base 2, elevada a un exponente igual a la posición del dígito menos uno. Se puede observar que, tal y como ocurría con el sistema decimal, la base de la potencia coincide con la cantidad de dígitos utilizados (2) para representar los números.



     De acuerdo con estas reglas, el número binario 1011 tiene un valor que se calcula así:

1x2³+ 0x2²+ 1x2¹+ 1x2⁰, es decir: 8 + 0 + 2 + 1 = 11
     Y para expresar que ambas cifras describen la misma cantidad lo escribimos así:1011₂  =  11₁₀


CONVERSIÓN DE NÚMEROS DECIMALES A BINARIOS

     Convertir un número decimal al sistema binario es muy sencillo: basta con realizar divisiones sucesivas por 2 y escribir los restos obtenidos en cada división en orden inverso al que han sido obtenidos. 

     Por ejemplo, para convertir al sistema binario el número   haremos una serie de divisiones que arrojarán los restos siguientes:

77 : 2 = 38 Resto: 1
38 : 2 = 19 Resto: 0
19 : 2 = 9 Resto: 1
9 : 2 = 4 Resto: 1
4 : 2 = 2 Resto: 0
2 : 2 = 1 Resto: 0
1 : 2 = 0 Resto: 1

     Y, tomando los restos en orden inverso obtenemos la cifra binaria: 77₁₀  = 1001101₂ 
     EJEMPLO:


CONVERSIÓN DE NÚMEROS BINARIOS A DECIMALES

     El proceso para convertir un número del sistema binario al decimal es aún más sencillo; basta con desarrollar el número, teniendo en cuenta el valor de cada dígito en su posición, que es el de una potencia de 2, cuyo exponente es 0 en el bit situado más a la derecha, y se incrementa en una unidad según vamos avanzando posiciones hacia la izquierda. 

     Por ejemplo, para convertir el número binario  1010011₂ a decimal, lo desarrollamos teniendo en cuenta el valor de cada bit:
1x2⁶ + 0x2⁵ + 1x2⁴ + 0x2³ + 0x2²+ 1x2¹+ 1x2⁰= 83

1010011₂ = 83₁₀
     EJEMPLO:


NUMERACIÓN HEXADECIMAL

     En el sistema hexadecimal los números se representan con dieciséis símbolos: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E y F. Se utilizan los caracteres A, B, C, D, E y F representando las cantidades decima­les 10, 11, 12, 13, 14 y 15 respectivamente, porque no hay dígitos mayores que 9 en el sistema decimal. El valor de cada uno de estos símbolos depende, como es lógico, de su posición, que se calcula mediante potencias de base 16. 

     Calculemos, a modo de ejemplo, el valor del número hexadecimal 1A3F16:

1A3F16 = 1x163 + Ax162 + 3x161 + Fx160
1x4096 + 10x256 + 3x16 + 15x1 = 6719
1A3F16 = 671910





     
CONVERSIÓN DE NÚMEROS DECIMALES A HEXADECIMAL 

     Por ejemplo, para convertir a hexadecimal del número 1735₁₀ será necesario hacer las siguientes divisiones:

1735 : 16 = 108    Resto: 7
108 : 16 = 6          Resto: C es decir, 1210
6 : 16 = 0              Resto: 6

     De ahí que, tomando los restos en orden inverso, resolvemos el número en hexadecimal: 173510 = 6C716
     EJEMPLO:




NUMERACIÓN OCTAL


     El inconveniente de la codificación binaria es que la representación de algunos números resulta muy larga. Por este motivo se utilizan otros sistemas de numeración que resulten más cómodos de escribir: el sistema octal y el sistema hexadecimal. Afortunadamente, resulta muy fácil convertir un número binario a octal o a hexadecimal. En el sistema de numeración octal, los números se representan mediante ocho dígitos diferentes: 0, 1, 2, 3, 4, 5, 6 y 7.


     Cada dígito tiene, naturalmente, un valor distinto dependiendo del lu­gar que ocupen. El valor de cada una de las posiciones viene determinado por las potencias de base 8.

     Por ejemplo, el número octal 2738 tiene un valor que se calcula así:
2x83 + 7x82 + 3x81 = 2x512 + 7x64 + 3x8 = 149610

2738 = 149610


CONVERSIÓN DE UN NUMERO DECIMAL A OCTAL

     La conversión de un número decimal a octal se hace con la misma técnica que ya hemos utilizado en la conversión a binario, mediante divisiones sucesivas por 8 y colocando los restos obtenidos en orden inverso. 

     Por ejemplo, para escribir en octal el número decimal 122₁₀ tendremos que hacer las siguientes divisiones:

122 : 8 = 15      Resto: 2
15 : 8 = 1          Resto: 7
1 : 8 = 0            Resto: 1

     Tomando los restos obtenidos en orden inverso tendremos la cifra octal: 12210 = 1728

     EJEMPLO:




CONVERSIÓN DE OCTAL A DECIMAL

     La conversión de un número octal a decimal es igualmente sencilla, conociendo el peso de cada posición en una cifra octal. 

     Por ejemplo, para convertir el número 2378 a decimal basta con desarrollar el valor de cada dígito:
2x82 + 3x81 + 7x80 = 128 + 24 + 7 = 15910

2378 = 15910


     EJEMPLO:





BCD

     Código BCD (Binary-Coded Decimal (BCD) o Decimal codificado). Binario es un estándar para representar números decimales en el sistema binario, en donde cada dígito decimal es codificado con una secuencia de 4 bits. Con esta codificación especial de los dígitos decimales en el sistema binario, se pueden realizar operaciones aritméticas como suma, resta, multiplicación y división de números en representación decimal, sin perder en los cálculos la precisión ni tener las inexactitudes en que normalmente se incurre con las conversiones de decimal a binario puro y de binario puro a decimal.

     La conversión de los números decimales a BCD y viceversa es muy sencilla, pero los cálculos en BCD se llevan más tiempo y son algo más complicados que con números binarios puros.

     En BCD cada cifra que representa un dígito decimal (0, 1,...8 y 9) se representa con su equivalente binario en cuatro bits (nibble o cuarteto) (esto es así porque es el número de bits necesario para representar el nueve, el número más alto que se puede representar en BCD).

     Cada dígito decimal tiene una representación binaria codificada con 4 bits:

     

     Los números decimales, se codifican en BCD con los de bits que representan sus dígitos.

     EJEMPLO: La codificación en BCD del número decimal 59237 es:

Decimal:            5          9          2         3           7
BCD:             0101    1001    0010    0011    0111