INSTITUTO UNIVERSITARIO DE TECNOLOGÍA JOSE LEONARDO CHIRINO PUNTO FIJO EDO-FALCON CATEDRA: ARQUITECTURA DEL COMPUTADOR PROFESOR: ING. JUAN DE LA ROSA T. TEMA 1
Desde tiempos remotos el hombre comenzó a desarrollar diferentes sistemas para satisfacer sus necesidades de cálculo. Algunos sistemas numéricos mas antiguos son: * Babilónico * Romano * Hindú * Árabe
El sistema numérico babilónico tenía base 60 y en la actualidad de éste sólo quedan en uso los grados, horas, minutos y segundos. El romano, por su parte, era el más atrasado de todos. De ese sistema actualmente sólo se utilizan sus números (I, V, X, L, C, D y M) para señalar las horas en las esferas de algunos relojes, indicar los capítulos en los libros y, en otros casos para hacer referencia a un determinado año.
Sin embargo, el sistema numérico hindú y árabe sí han llegado hasta nuestros días; es lo que conocemos como sistema numérico decimal (de base 10), siendo el de uso más extendido en todo el mundo. Tal como indica su prefijo (deci), este sistema utiliza 10 dígitos, del 0 al 9, con los cuales podemos realizar cualquier tipo de operación matemática.
Debido al extendido uso del sistema decimal muchas personas desconocen la existencia de otros sistemas numéricos como, por ejemplo, el binario (de base 2), el octal (de base 8) y el hexadecimal (de base 16), entre otros.
Además que el sistema numérico decimal resultaba complejo para crear un código apropiado, adoptaron el uso del sistema numérico binario (de base 2), que emplea sólo dos dígitos: 0 y 1.
Con el sistema binario los ingenieros crearon un lenguaje de bajo nivel o código máquina, que permite a los ordenadores entender y ejecutar las órdenes sin mayores complicaciones, pues el circuito electrónico de la máquina sólo tiene que distinguir entre dos dígitos para realizar las operaciones matemáticas y no entre diez, como hubiera sucedido de haberse adoptado el sistema numérico decimal para el funcionamiento de los ordenadores o computadoras.
La base de un sistema numérico radica en la cantidad de dígitos diferentes que son necesarios para representar las cifras. Por ejemplo, a continuación se puede apreciar la cantidad de dígitos diferentes que emplea un sistema numérico en particular, de acuerdo con su correspondiente base numérica
SISTEMAS DE NUMERACIÓN 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ímbo lo tiene distinto valor según la posición que ocupa en la cifra.
SISTEMA OCTAL El sistema octal usa 8 dígitos (0,1,2,3,4,5,6,7) y tienen el mismo valor que en el sistema de numeración decimal. El sistema hexadecimal utiliza los diez dígitos del sistema decimal (0,1,2,3,4,5,6,7,8,9) y las seis primeras letras del abecedario, que representan un valor numérico (A=10, B=11, C=12, D=13, E=14 y F=15), lo que nos da los 16 dígitos del sistema hexadecimal.
SISTEMA HEXADECIMAL Símbolo Valor Absoluto A 10 B 11 C 12 D 13 E 14 F 15
Para pasar de base 10 a otra base, dividimos el número a convertir entre la nueva base. El cociente se vuelve a dividir por la base, y así sucesivamente hasta que el cociente sea inferior a la base. El último cociente y los restos (en orden inverso) indican los dígitos en la nueva base.
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 2 a decimal, lo desarrollamos teniendo en cuenta el valor de cada bit: 1*2 6 + 0*2 5 + 1*2 4 + 0*2 3 + 0*2 2 + 1*2 1 + 1*2 0 = 83 1010011 2 = 83 10
CONVERSIÓN DE UN NÚMERO 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 10 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: 122 10 = 172 8
CONVERSIÓN 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 237 8 a decimal basta con desarrollar el valor de cada dígito: 2*8 2 + 3*8 1 + 7*8 0 = 128 + 24 + 7 = 159 10 237 8 = 159 10
CONVERSIÓN DECIMAL A HEXADECIMAL Utilizando la técnica habitual de divisiones sucesivas, la conversión de un número decimal a hexadecimal. Por ejemplo, para convertir a hexadecimal del número 1735 10 será necesario hacer las siguientes divisiones: 1735: 16 = 108 Resto: 7 108: 16 = 6 Resto: C es decir, 12 10 6:16 = 0 Resto: 6 De ahí que, tomando los restos en orden inverso, resolvemos el número en hexadecimal: 1735 10 = 6C7 16
CONVERSIÓN HEXADECIMAL A DECIMAL Calculemos, a modo de ejemplo, el valor del número hexadecimal 1A3F 16 : 1A3F 16 = 1*16 3 + A*16 2 + 3*16 1 + F*16 0 1*4096 + 10*256 + 3*16 + 15*1 = 6719 1A3F 16 = 6719 10
Conversión de números binarios a octales y viceversa DECIMAL BINARIO OCTAL 0 000 0 1 001 1 2 010 2 3 011 3 4 100 4 5 101 5 6 110 6 7 111 7
Cada dígito de un número octal se representa con tres dígitos en el sistema binario. Por tanto, el modo de conver tir un número entre estos sistemas de numeración equivale a "expandir" cada dígito octal a tres dígitos bi narios, o en "contraer" grupos de tres caracteres binarios a su correspondiente dígito octal. Por ejemplo, para convertir el número binario 101001011 2 a octal tomaremos grupos de tres bits y los sustituiremos por su equivalente octal: 101 2 = 5 8 001 2 = 1 8 011 2 = 3 8 y, de ese modo: 101001011 2 = 513 8
La conversión de números octales a binarios se hace, siguiendo el mismo método, reemplazando cada dígito octal por los tres bits equivalentes. Por ejemplo, para convertir el número octal 7508 a binario, tomaremos el equivalente binario de cada uno de sus dígitos: 7 8 = 111 2 5 8 = 101 2 0 8 = 000 2 y, por tanto: 750 8 = 111101000 2
Conversión de números binarios a hexadecimales y viceversa Del mismo modo que hallamos la correspondencia entre números octales y binarios, podemos establecer una equivalencia directa entre cada dígito hexadecimal y cuatro dígitos binarios, como se ve en la siguiente tabla: DECIMAL BINARIO HEXADECIMAL 0 0000 0 1 0001 1 2 0010 2 3 0011 3 4 0100 4 5 0101 5 6 0110 6 7 0111 7 8 1000 8 9 1001 9 10 1010 A 11 1011 B 12 1100 C 13 1101 D 14 1110 E 15 1111 F
Conversión de números binarios a hexadecimales y viceversa Para expresar en hexadecimal el número binario 101001110011 2 bastará con tomar grupos de cuatro bits, empezando por la derecha, y reemplazarlos por su equivalente hexadecimal: 1010 2 = A 16 0111 2 = 7 16 0011 2 = 3 16 y, por tanto: 101001110011 2 = A73 16 En caso de que los dígitos binarios no formen grupos completos de cuatro dígitos, se deben añadir ceros a la izquierda hasta completar el último grupo. Por ejemplo: 101110 2 = 00101110 2 = 2E 16
La conversión de números hexadecimales a binarios se hace del mismo modo, reemplazando cada dígito hexadecimal por los cuatro bits equivalentes de la tabla. Para convertir a binario, por ejemplo, el número hexadecimal 1F6 16 hallaremos en la tabla las siguientes equivalencias: 1 16 = 0001 2 F 16 = 1111 2 6 16 = 0110 2 y, por tanto: 1F6 16 = 000111110110 2
Gracias