miércoles, 29 de junio de 2011

TAREA #2 Operaciones con Numeros Binarios

Lo que aprendimos en la segunda clase de Lenguaje ANSI C fue realizar conversiones de números decimales a binarios y viceversa.
A continuación haremos un ejemplo de conversión de Decimal a Binario.

Convertiremos el numero: 7895

1.-Primero escribimos de derecha a izquierda la tabla de 2 a la cero, 2 a la uno, 2 a la 2, así hasta 2 a la "n".

2.-Después checamos cual numero (el mayor posible) de la tabla cabe dentro de nuestro numero decimal y rellenamos ese espacio con un numero "1", despues se lo restamos a nuestro numero decimal.

3.-Repetimos el paso 2 hasta que la resta nos de a cero.

4.-Rellenamos los números que no utilizamos con un cero.

...8192, 4096, 2048, 1024, 512, 256, 128,  64,  32,  16,  8,  4,  2,  1.
                1        1        1       1      0       1     1     0      1   0   1   1   1

5.Entonces acomodamos juntos nuestros ceros y unos y quedara así:

1111011010111 = 7895

....
...
..

Para convertir de un Numero Binario a un Numero Decimal.

Convertiremos el numero: 1010011100

1.-Escribimos la tabla de derecha a izquierda desde 2 a la cero hasta 2 a la "n".

2.- Ponemos todo el numero binario debajo de la tabla ,asegurándonos que el ultimo dígito del numero binario quede debajo de 2 a la "0" , a partir de ahí escribimos todo el numero binario hacia la izquierda.

... 1024, 512, 256, 128,  64,  32,  16,  8,  4,  2,  1.
                1      0      1      0     0     1    1    1   0  0

3.- Después sumamos los números decimales donde haya un numero "1" debajo (512+128++16+8+4) = 668  y quedara así:

668 = 1010011100

...
..
.

También aprendimos cosas nuevas de programacion .c  , como por ejemplo:

-Unsigned int : se utiliza para números grandes y positivos
-Double: punto flotante de presicion doble.
....
...
..
.

1 comentario:

  1. Ojo con lo de unsigned int - no son realmente muy grandes, sino dos veces más grandes que lo que cabe en int normal ;)

    Hubiera sido bueno incluir un poco más detalles y temas. Checa lo que pusieron los que sacaron más puntos.

    Te pongo 9 puntos por la segunda tarea.

    ResponderEliminar