El ordenador utiliza principalmente tres sistemas numéricos el binario, el decimal y el hexadecimal.
El sistema decimal
Es un sistema posicional, el valor del número depende de su posición. En realidad posee dos valores, uno absoluto marcado por el valor del número, y otro relativo marcado por su posición.
|| El número 173 puede verse como: ||
100
||
10
||
1
||
|| ||
102
||
101
||
10
||
|| ||
1
||
7
||
3
||
o lo que es lo mismo 173 = 1 x 102 + 7 x 101 + 3 x 10
Si hay valores negativos el exponente se haría negativo.
El sistema binario
Es también posicional, con base 2 (0 y 1) biestable. Es la forma más simple de contar (utiliza la base 2). El sistema decimal utiliza la base 10 y el hexadecimal utiliza la base 16, etc.
El Bit es la unidad principal (BInari digiT)= dígito binario (1 o 2).
|| 1 || 1 dígito... 2 combinaciones || 000 || 3 dígitos... 8 combinaciones ||
|| || || 001 || ||
|| || || 010 || ||
|| 00 || 2 dígitos... 4 combinaciones || 100 || ||
|| 01 || || 101 || ||
|| 10 || || 110 || ||
|| 11 || || 111 || ||
|| || || 011 || ||
|| || || || ||
|| || || || n dígitos... 2^n combinaciones posibles ||
Los procesadores más sencillos son de 8 bits, lo que significa 8 dígitos. Para transformar un número binario 10011010(2) al sistema decimal se debe hacer lo siguiente:
|| 1 || || 1 || || 1 || 1 || || 1 ||
|| ¯ || ¯ || ¯ || ¯ || ¯ || ¯ || ¯ || ¯ ||
|| 7 || 6 || 5 || 4 || 3 || 2 || 1 || ||
Se numeran los dígitos de derecha a izquierda empezando por cero.
Se multiplica el dígito ( 0 ó 1) por 2 elevado al número de posición y se suma el resultado obteniendo así un número decimal.
|| 10101101(2) = || 1 x 27 || + 0 x 26 || + 1 x 25 || + 0 x 24 || + 1 x 23 || + 1 x 22 || + 0 x 21 || + 1 x 2= ||
|| = ||
128
||
+0
||
+32
||
+0
||
+8
||
+4
||
+0
|| +1= 173 ||
Otra forma de convertir números binarios en decimales es usando esta tabla:
|| 128 || 64 || 32 || 16 || 8 || 4 || 2 || 1 ||
||
|| 27 || 26 || 25 || 24 || 23 || 22 || 21 || 2 ||
||
||
||
||
||
||
||
||
|| 1 || = 1 x 2 = 1 ||
||
||
||
||
||
||
|| ||
|| = 0 x 21 = 0 ||
||
||
||
||
||
|| 1 ||
||
|| = 1 x 22 = 4 ||
||
||
||
||
|| 1 ||
||
||
|| = 1 x 23 = 8 ||
||
||
||
|| ||
||
||
||
|| = 0 x 24 = 0 ||
||
||
|| 1 ||
||
||
||
||
|| = 1 x 25 = 32 ||
||
|| ||
||
||
||
||
||
|| = 0 x 26 = 0 ||
|| 1 ||
||
||
||
||
||
||
|| = 1 x 27 =128 ||
|| La conversión sería ||
||
||
|| =173(10) valor decimal ||
La solución es sumar los valores posicionales positivos. La conversión decimal a binaria sería dividir el número por dos y el resto es el valor binario.
Para pasar de un número decimal a uno binario se debe dividir sucesivamente entre dos. El resultado se obtiene por el cociente final y los restos que van quedando en las sucesivas divisiones de derecha a izquierda:
|| 173 || || 2 || || || || || || || || || || || || ||
|| 13 || || 86 || || 2 || || || || || || || || || || ||
|| 1 || || 06 || || 43 || || 2 || || || || || || || || ||
||
|| || || || 03 || || 21 || || 2 || || || || || || ||
|| || || || || 1 || || 01 || || 10 || || 2 || || || || ||
|| || || || || || || 1 || || || || 5 || || 2 || || ||
|| || || || || || || || || || || 1 || || 2 || || 2 ||
|| || || || || || || || || || || || || || || 1 ||
173(10) =10101101(2)
Otra forma de hacerlo:
|| 173(10) || ||
|| 173/2 = 86 R=1 || ||
|| 86/2 = 43 R= 43/2 = 21 R=1 21/2 = 10 R=1 10/2 = 5 R= 5/2 = 2 R=1 2/2 = 1 R= || 10101101(2) = 173(10) ||
Dos números binarios se pueden sumar siguiendo este esquema:
|| 0+0=0 || 0+1=1 || 1+1=10 ||
|| || || ||
|| || 10110 || ||
|| || + 01101 || ||
|| || 100011 || ||
Los caracteres se representan en código decimal, hexadecimal y binario. Cada carácter tiene una cadena binaria asignada y su correspondiente número decimal. Existen distintos códigos para representar cada carácter con un combinación de bits. Uno de estos códigos es el ASCII.
Muestra de algunos caracteres codificados, extraídos de una tabla de código ASCII:
||
Carácter ||
Equivalente Binario ||
Equivalente Decimal ||
||
Carácter ||
Equivalente Binario ||
Equivalente Decimal ||
|| espacio || 0100000 || 32 ||
|| a || 1100001 || 97 ||
|| . (punto) || 0101110 || 46 ||
|| b || 1100010 || 98 ||
|| || 0110000 || 48 ||
|| c || 1100011 || 99 ||
|| 1 || 0110001 || 49 ||
|| d || 1100100 || 100 ||
|| 2 || 0110010 || 50 ||
|| e || 1100101 || 101 ||
|| 3 || 0110011 || 51 ||
|| f || 1100110 || 102 ||
|| 4 || 0110100 || 52 ||
||
||
||
||
|| 5 || 0110101 || 53 ||
||
||
||
||
|| 6 || 0110110 || 54 ||
||
||
||
||
|| 7 || 0110111 || 55 ||
||
||
||
||
|| 8 || 0111000 || 56 ||
||
||
||
||
|| 9 || 0111001 || 57 ||
||
||
||
||
Múltiplos del BIT
Byte: agrupación de 8 bits. Puedo representar 28=256 combinaciones posibles. Los ordenadores actuales trabajan siempre con agrupaciones de 1, 2, 4 y 8 bits, es decir, con bloques de 8, 16, 32 y 64 bits, pero siempre múltiplos de 8 bits.
Kilobyte: 210 bytes que son 1.024 bytes.
Megabyte: 220 bytes que son 1.048.576 bytes o 1.024 kilobytes.
Gigabyte: 230 bytes que son 1.0243 bytes o 1.024 megabytes.
Terabyte: 240 bytes que son 1.0244 bytes o 1.024 gigabytes.