viernes, 24 de mayo de 2013

Taller extra - clase

                                                                 

SISTEMA NUMÉRICO DECIMAL

La numeración arábiga o decimal es el sistema que utiliza los diez signos introducidos por los árabes en Europa: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9.
El cero no tiene valor por si mismo, sino únicamente valor posicional, es decir, por el lugar que ocupa.
Los números se escriben teniendo en cuenta que cualquier cifra situada inmediatamente a la izquierda de otra significa que es diez unidades mayor de esta y a la inversa, cualquier cifra situada inmediatamente a la derecha es diez unidades menores que esta. En el sistema de numeración decimal diez unidades constituyes una decena, diez decenas originan una centena, diez centenas una unidad de millar y así sucesivamente






SISTEMA BINARIO 


El sistema de numeración más simple que usa la notación posicional es el sistema de numeración binario. Este sistema, como su nombre lo indica, usa solamente dos dígitos (0,1).

Por su simplicidad y por poseer únicamente dos dígitos diferentes, el sistema de numeración binario se usa en computación para el manejo de datos e información. Normalmente al dígito cero se le asocia con cero voltios, apagado, desenergizado, inhibido (de la computadora) y el dígito 1 se asocia con +5, +12 volts, encendido, energizado (de la computadora) con el cual se forma la lógica positiva. Si la asociación es inversa, o sea el número cero se asocia con +5 volts o encendido y al número 1 se asocia con cero volts o apagado, entonces se genera la lógica negativa.

A la representación de un dígito binario se le llama bit (de la contracción binary digit) y al conjunto de 8 bits se le llama byte, así por ejemplo: 110 contiene 3 bits, 1001 contiene 4 y 1 contiene 1 bit. Como el sistema binario usa la notación posicional entonces el valor de cada dígito depende de la posición que tiene en el número, así por ejemplo el número 110101b es: 

1*(20) + 0*(21) + 1*(22) + 0*(23) + 1*(24) + 1*(25) = 1 + 4 + 16 + 32 = 53d


La computadora está diseñada sobre la base de numeración binaria (base 2). Por eso este caso particular merece mención aparte. Siguiendo las reglas generales para cualquier base expuestas antes, tendremos que:
Existen dos dígitos (0 o 1) en cada posición del número.

Numerando de derecha a izquierda los dígitos de un número, empezando por cero, el valor decimal de la posición es 2n.
Por ejemplo,11012 (en base 2) quiere decir:
1*(23) + 1*(22) + 0*(21) + 1*(20) = 8 + 4 + 0 + 1 = 1310



CAMBIOS DE BASE DE NUMERACION


Existe un procedimiento general para cambiar una base cualquiera a otra cualquiera:

Para pasar de una base cualquiera a base 10, hemos visto que basta con realizar la suma de los productos de cada dígito por su valor de posición. Los valores de posición se obtienen como potencias sucesivas de la base, de derecha a izquierda, empezando por el exponente cero. Cada resultado obtenido se suma, y el resultado global es el número en base 10.

Para pasar de base 10 a otra base, en vez de multiplicar, 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 sistema binario trabaja de forma similar al sistema decimal con dos diferencias, en el sistema binario sólo está permitido el uso de los dígitos 0 y 1 (en lugar de 0-9) y en el sistema binario se utilizan potencias de 2 en lugar de potencias de 10. De aquí tenemos que es muy fácil convertir un número binario a decimal, por cada 1 en la cadena binaria, sume 2n donde n es la posición del dígito binario a partir del punto decimal contando a partir de cero. Por ejemplo, el valor binario 11001010 representa:

1*(27) + 1*(26) + 0*(25) + 0*(24) + 1*(23) + 0*(22) + 1*(21) + 0*(20) = 128 + 64 + 8 + 2 = 20210


Para convertir un número decimal en binario es un poco más difícil. Se requiere encontrar aquellas potencias de 2 las cuales, sumadas, producen el resultado decimal, una forma conveniente es trabajar en reversa por ejemplo, para convertir el número 1359 a binario:



(210)=1024, (211)=2048. Por tanto la mayor potencia de 2 menor que 1359 es (210). Restamos 1024 a 1359 y empezamos nuestro número binario poniendo un 1 a la izquierda. El resultado decimal es 1359-1024=335. El resultado binario hasta este punto es: 1.


La siguiente potencia de 2 en orden descendente es (29)=512 lo que es mayor que el resultado de la resta del punto anterior, por lo tanto agregamos un 0 a nuestra cadena binaria, ahora es: 10. El resultado decimal es aún 335.


La siguiente potencia es (28)=256 por lo que lo restamos a 335 y agregamos 1 a la cadena binaria: 101. El resultado decimal es: 79.

(27)=128, esto es mayor que 79. Agregamos un 0 a la cadena binaria: 1010 en tanto que el valor decimal es: 79.

Restamos (26)=64 a 79. La cadena binaria es ahora: 10101. El resultado decimal indica: 15.

15 es menor que (25)=32, por tanto, Binario=101010, el valor decimal sigue siendo: 15.

15 es menor que (24)=16, de aquí, Binario=1010100, el valor decimal continúa en: 15.

(23)=8 es menor que 15, así que agregamos un 1 a la cadena binaria: 10101001, en tanto que el nuevo valor decimal es: 7.

(22) es menor que 7. Binario es ahora: 101010011, el resultado decimal ahora vale: 3.

(21) es menor que 3. Binario=1010100111, el nuevo valor decimal es: 1.


Finalmente el resultado decimal es 1 lo que es igual a (20) por lo que agregamos un 1 a la cadena binaria. Nuestro resultado indica que el equivalente binario del número decimal 1359 es: 10101001111


FORMATOS BINARIOS


En un sentido estricto, cada número binario contiene una cantidad infinita de dígitos, también llamados bits que es una abreviatura de binary digits, por ejemplo, podemos representar el número siete de las siguientes formas:


111 
00000111 
000000000000111 



Por conveniencia ignoraremos cualquier cantidad de ceros a la izquierda, sin embargo, como las instrucciones compatibles con los procesadores Intel 

80 x 86 trabajan con grupos de ocho bits a veces es más fácil extender la cantidad de ceros a la izquierda en un múltiplo de cuatro u ocho bits, por ejemplo, el número siete podemos representarlo así: 01112 o 000001112.

También es conveniente separar en grupos de cuatro dígitos los números binarios grandes, por ejemplo, el valor binario 1010111110110010 puede ser escrito así 1010 1111 1011 0010.


Además, en una cadena binaria asignaremos al dígito de la extrema derecha como el bit de posición cero y cada bit subsecuente se le asignará el siguiente número sucesivo, de ésta manera un valor binario de ocho bits utiliza los bits cero al siete: X7  X6  X5  X4  X3  X2  X1  X0  Al bit cero se le conoce como el bit de bajo orden en tanto que al bit de la extrema izquierda diferente de cero se le llama bit de alto orden.


suma, resta multiplicación y division:

Dos números binarios se pueden sumar siguiendo este esquema:
0+0=0, 0+1=1, 1+1=10. 
Ejemplos:

Suma:
                                            
   10110
 + 01101
  ---------
  100011

Resta:

   1011010
 -  110101
  ________
    100101

Multiplicación:

       101
    * 1001
    ______
       101
      000
     000
    101
   _______
    101101

Las operaciones aritméticas con números en base 2 son muy sencillas. 
Las reglas básicas son:
1 + 1 = 10 y 1 × 1 = 1. El cero cumple las mismas propiedades que en el sistema decimal: 1 × 0 = 0 y 1 + 0 = 1. 
La adición, sustracción y multiplicación se realizan de manera similar a las del sistema decimal. 
Reglas de la división binaria: 0/0 no permitida, 1/0 no permitida, 0/1=0, 1/1=1



MEDIDAS DE ALMACENAMIENTOS DE LA INFORMACIÓN


Byte: Unidad de información que consta de 8 bits; en procesamiento informático y almacenamiento, el equivalente a un único carácter  como puede ser una letra, un numero o un signo de puntuación.

Kilobyte (Kb): Equivale a 1.024 bytes.
 
Megabyte (Mb): Un millón de bytes o 1.048.576 bytes.
 Gigabyte (Gb): Equivale a mil millones de bytes.


En informática, cada letra, número o signo de puntuación ocupa un byte (8 bits). 

Por ejemplo, cuando se dice que un archivo de texto ocupa 5.000 bytes estamos afirmando que éste equivale a 5.000 letras o caracteres. 

Ya que el byte es una unidad de información muy pequeña, se suelen utilizar sus múltiplos: kilobyte (Kb), megabyte (MB), gigabyte (GB)... Como en informática se utilizan potencias de 2 en vez de potencias de 10, se da la circunstancia de que cada uno de estos múltiplos no es 1000 veces mayor que el anterior, 


sino 1024 ( 210 = 1024). Por lo que 1 GB = 1024 MB = 1048576 Kb = más de 1073 millones de bytes.



SISTEMA OCTAL 



El sistema numérico en base 8 se llama octal y utiliza los dígitos 0 a 7.

para convertir un numero en base decimal a base se divide por 8 sucesivamente hasta llegar a cociente 0, y los restos de la división en orden en orden inverso indica el numero en octal. para pasar de base 8 a base decimal, solo hay que multiplicar cada cifra por 8 elevando a la posición de la cifra, y sumar el resultado 

Es más fácil pasar de binario a octal, porque solo hay que agrupar de 3 en 3 los dígitos binarios, así, el número 74 (en decimal) es 1001010 (en binario), lo agruparíamos como 1 / 001 / 010, después obtenemos el número en decimal de cada uno de los números en binario obtenidos: 1=1, 001=1 y 010=2. De modo que el número decimal 74 en octal es 112.


En informática a veces se utiliza la numeración octal en vez de la hexadecimal. Tiene la ventaja de que no requiere utilizar otros símbolos diferentes de los dígitos. Sin embargo, para trabajar con bytes o conjuntos de ellos, asumiendo que un byte es una palabra de 8 bits, suele ser más cómodo el sistema hexadecimal, por cuanto todo byte así definido es completamente representable por dos dígitos hexadecimales.

 sistema de numeración octal es un sistema de numeración en base 8, una base que es potencia exacta de 2 o de la numeración binaria. Esta característica hace que la conversión a binario o viceversa sea bastante simple. 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 teorema fundamental aplicado al sistema octal sería el siguiente:



como el sistema de nuemeracion octal usa la notación posición entonces para el numero 3452,32 tenemos que:

  2*80 + 5*81 + 4*82 + 3*83 + 3*8-1 + 2*8-2 = 2 + 40 + 4*64 + 3*512 + 3*0,125 + 2*0,015625 = 2 + 40 + 256 + 1536 + 0,375 + 0,03125 = 1834 + 0,40625d

Entonces, 3452,32q = 1834,40625d
El subíndice que indica número octal, se usa la letra q para evitar confusión entre la letra 'o' y el número 0. En informática, a veces se utiliza la numeración octal en vez de la hexadecimal
Tiene la ventaja de que no requiere utilizar otros símbolos diferentes de los dígitos. Es posible que la numeración octal se usara en el pasado en lugar de la decimal, por ejemplo, para contar los espacios interdigitales o los dedos distintos de los pulgares.
Es utilizado como una forma abreviada de representar números binarios que emplean caracteres de seis bits. Cada tres bits (medio carácter) es convertido en un único dígito octal (del griego oktō 'ocho') Esto es muy importante por eso.

El sistema de numeración octal es también muy usado en la computación por tener una base que es potencia exacta de 2 o de la numeración binaria. Esta característica hace que la conversión a binario o viceversa sea bastante simple. 
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. Como el sistema de numeración octal usa la notación posicional entonces para el número 3452.32q tenemos:

2*(80) + 5*(81) + 4*(82) + 3*(83) + 3*(8-1) + 2*(8-2) = 2 + 40 + 4*64 + 64 + 3*512 + 3*0.125 + 2*0.015625 = 2 + 40 + 256 + 1536 + 0.375 + 0.03125 = 1834 + 40625dentonces, 3452.32q =1834.40625d

El subindice q indica número octal, se usa la letra q para evitar confusión entre la letra o y el número 0.



SISTEMA HEXADECIMAL 



Otro código que se usa con cierta frecuencia es el hexadecimal, es decir, en base dieciséis. 



Consiste en utilizar las letras A, B, C, D, E y F para representar los números del diez al quince, mientras que para el dieciséis 


emplearemos el 1 y el 0.

1016 = 1610

1B16 = 16 + 11 = 2710

3E16 = 3 · 16 + 14 = 6210

La razón para el uso del sistema hexadecimal es que su conversión a binario o la conversión de binario a hexadecimal es muy simple, puesto que, al ser dieciséis igual a dos elevado a cuatro, cuatro números binarios componen un número hexadecimal. 

No obstante en esta quincena no trabajaremos las conversiones entre el hexadecimal y otros sistemas


Un gran problema con el sistema binario es la verbosidad. Para representar el valor 20210 se requieren ocho dígitos binarios, la versión decimal sólo requiere de tres dígitos y por lo tanto los números se representan en forma mucho más compacta con respecto al sistema numérico binario.


Desafortunadamente las computadoras trabajan en sistema binario y aunque es posible hacer la conversión entre decimal y binario, ya vimos que no es precisamente una tarea cómoda. El sistema de numeración hexadecimal, o sea de base 16, resuelve este problema (es común abreviar hexadecimal como hex aunque hex significa base seis y no base dieciséis). 



El sistema hexadecimal es compacto y nos proporciona un mecanismo sencillo de conversión hacia el formato binario, debido a ésto, la mayoría del equipo de cómputo actual utiliza el sistema numérico hexadecimal. 



Como la base del sistema hexadecimal es 16, cada dígito a la izquierda del punto hexadecimal representa tantas veces un valor sucesivo potencia de 16, por ejemplo, el número 123416 es igual a:
1*163 + 2*162 + 3*161 + 4*160
lo que da como resultado:
4096 + 512 + 48 + 4 = 466010


Cada dígito hexadecimal puede representar uno de dieciséis valores entre 0 y 1510. Como sólo tenemos diez dígitos decimales, necesitamos inventar seis dígitos adicionales para representar los valores entre 1010 y 1510. En lugar de crear nuevos símbolos para estos dígitos, utilizamos las letras A a la F. La conversión entre hexadecimal y binario es sencilla, considere la siguiente tabla:


Esta tabla contiene toda la información necesaria para convertir de binario a hexadecimal y viceversa. Para convertir un número hexadecimal en binario, simplemente sustituya los correspondientes cuatro bits para cada dígito hexadecimal, por ejemplo, para convertir 0ABCDh en un valor binario:
0 A B C D (Hexadecimal)
0000 1010 1011 1100 1101 (Binario)
Por comodidad, todos los valores numéricos los empezaremos con un dígito decimal; los valores hexadecimales terminan con la letra h y los valores binarios terminan con la letra b. La conversión de formato binario a hexadecimal es casi igual de fácil, en primer lugar necesitamos asegurar que la cantidad de dígitos en el valor binario es múltiplo de 4, en caso contrario agregaremos ceros a la izquierda del valor, por ejemplo el número binario 1011001010, la primera etapa es agregarle dos ceros a la izquierda para que contenga doce ceros: 001011001010.


La siguiente etapa es separar el valor binario en grupos de cuatro bits, así: 0010 1100 1010. Finalmente buscamos en la tabla de arriba los correspondientes valores hexadecimales dando como resultado, 2CA, y siguiendo la convención establecida: 02CAh



 CONVERSIONES DE SISTEMAS DE NUMERACIÓN

CONVERSIÓN DE NUMERO DECIMAL A NUMERO BINARIO


Para esta transformación es necesario tener en cuenta los pasos que mostraremos en el siguiente ejemplo: Transformemos el numero 42 a numero binario



1. Dividimos el numero 42 entre 2

2. Dividimos el cociente obtenido por 2 y repetimos el mismo procedimiento hasta que el cociente sea

3. El numero binario lo formamos tomando el primer dígito el ultimo cociente, seguidos por los residuos obtenidos en cada división, seleccionándolos de derecha a izquierda, como se muestra en el siguiente esquema.


Conversión de decimal a binario



CONVERSIÓN DE UN NUMERO DECIMAL FRACCIONARIO A UN NUMERO BINARIO


Para transformar un número decimal fraccionario a un numero binario debemos seguir los pasos que mostramos en el siguiente ejemplo: transformemos el numero 42,375.




1. la parte entera se transforma de igual forma que el ejemplo anterior.

2. La parte fraccionaria de la siguiente manera:





Multiplicamos por el numero 2 y tomamos la parte entera del producto que ira formando el numero binario correspondiente

Tomamos nuevamente la parte entera del producto, y la parte fraccionaria la multiplicamos sucesivamente por 2 hasta llegar a 0

Tomamos nuevamente la parte entera , y como la parte fraccionaria es 0, indica que se ha terminado el proceso.  El numero binario correspondiente a la parte decimal será la unión de todas las partes enteras, tomadas de las multiplicaciones sucesivas realizadas durante el transcurso del proceso , en donde el primer dígito binario corresponde a la primera parte entera , el segundo dígito a la segunda parte entera , y así sucesivamente hasta llegar al ultimo .Luego tomamos el numero binario , correspondiente a la parte entera , y el numero binario , correspondiente a la parte fraccionaria y lo unimos en un solo numero binario correspondiente a el numero decimal.

Conversión de decimal fraccionario a binario


CONVERSIÓN DE UN NUMERO BINARIO A NUMERO DECIMAL


Para convertir un número binario a decimal, realizamos los siguientes pasos:



1. Tomamos los valores de posición correspondiente a las columnas donde aparezcan únicamente unos

2. Sumamos los valores de posición para identificar el numero decimal equivalente


Conversión de binario a decimal


CONVERSIÓN DE UN NUMERO DECIMAL A OCTAL


Para convertir un numero en el sistema decimal al sistema de numeración Octal, debemos seguir los pasos que mostraremos en el siguiente ejemplo Convertir el numero decimal 323.625 a el sistema de numeración Octal





1. Se toma el numero entero y se divide entre 8 repetidamente hasta que el dividendo sea menor que el divisor, para colocar entonces el numero 0 y pasar el dividendo a formar el primer dígito del numero equivalente en decimal

2. Se toma la parte fraccionaria del numero decimal y la multiplicamos por 8 sucesivamente hasta que el producto no tenga números fraccionarios

3. Pasamos la parte entera del producto a formar el dígito correspondiente

4. Al igual que los demás sistemas , el numero equivalente en el sistema decimal , esta formado por la unión del numero entero equivalente y el numero fraccionario equivalente.


Conversión de decimal a octal

CONVERSION DE UN NUMERO OCTAL A BINARIO

La ventaja principal del sistema de numeración Octal es la facilidad conque pueden realizarse la conversión entre un numero binario y octal. A continuación mostraremos un ejercicio que ilustrará la teoría. Por medio de este tipo de conversiones, cualquier numero Octal se convierte a binario de manera individual. En este ejemplo, mostramos claramente el equivalente 100 111 010 en binario de cada numero octal de forma individual.


Conversión de octal a binario

CONVERTIR EL NUMERO DECIMAL A HEXADECIMAL


1. Se toma la parte entera y se divide sucesivamente por el numero decimal 16 (base) hasta que el cociente sea 0
2. Los números enteros resultantes de los cocientes, pasarán a conformar el numero hexadecimal correspondiente, teniendo en cuenta que el sistema de numeración hexadecimal posee solo 16 símbolos, donde los números del 10 hasta el 15 tienen símbolos alfabéticos que ya hemos explicado
3. La parte fraccionaria del numero a convertir se multiplica por 16 (Base) sucesivamente hasta que el producto resultante no tenga parte fraccionaria
4. Al igual que en los sistemas anteriores, el numero equivalente se forma, de la unión de los dos números equivalentes, tanto entero como fraccionario, separados por un punto que establece la diferencia entre ellos.



Conversión de decimal a hexadecimal

CONVERSIÓN DE UN NUMERO HEXADECIMAL A UN NUMERO DECIMAL



Como en los ejemplos anteriores este también nos ayudará a entender mejor este procedimiento: Convertir el numero hexadecimal 2B6 a su equivalente decimal.



1. Multiplicamos el valor de posición de cada columna por el dígito hexadecimal correspondiente.

2. El resultado del número decimal equivalente se obtiene, sumando todos los productos obtenidos en el paso anterior.





Conversión de hexadecimal a decimal