You are on page 1of 5

UNIVERSIDAD TECNOLGICA DEL PER FACULTAD DE INGENIERIA ELECTRONICA, MECATRNICA Y TEXTIL

LABORATORIO DE ARQUITECTURA DE COMPUTADORAS - PROCOU


LABORATORIO N 3
TEMA: MANIPULACIN DE BITS CODIGO 1122145 0510131 9820963 HORARI O APELLIDOS Y NOMBRES NOTA

Jajia Sanchez Carlos Villarreal Mendez Gilberto Locau william


PC FECHA

OBSERVACIONES

UNIVERSIDAD TECNOLGICA DEL PER FACULTAD DE INGENIERA ELCTRNICA, MECATRNICA Y TEXTIL

Agosto 2013

LABORATORIO DE ARQUITECTURA DE COMPUTADORAS

UNIVERSIDAD TECNOLGICA DEL PER FACULTAD DE INGENIERA ELCTRNICA, MECATRNICA Y TEXTIL

MANIPULACIN DE BITS
Parte prctica. 1. Escribir un programa en lenguaje C que complete el siguiente programa. En todos los casos el usuario proporcionar la posicin del bit (un valor entre 0 y 7, inclusive, donde 0 es el LSB y 7 el MSB) de tal forma que pueda realizar las siguientes operaciones. o Poner a 0 los bits de la posicin dada a la posicin 0 sin alterar el resto de bits. o Poner a 1 los bits de la posicin dada a la posicin 0 sin alterar el resto de bits. o Conmutar los bits de la posicin dada a la posicin 0 sin alterar el resto de bits. o
/*************************** Descripcin: Programa que realiza manipulacin de bits Autor: Luis Raymi Cdigo de Docente: C08078 ***************************/ /*XXXXXXXXXXXXXXXXXXXXXXXXX*/ #include <stdio.h> #include <stdlib.h> #include <time.h> #include <conio.h> /*XXXXXXXXXXXXXXXXXXXXXXXXX*/ int Aleatorio( void ); void SecBits( int ); int BitsACero( int, int ); int BitsAUno( int, int ); int ComBits( int, int ); /*XXXXXXXXXXXXXXXXXXXXXXXXX*/ int main( void ) { int n, b; clrscr(); printf("LABORATORIO DE ARQUITECTURA DE COMPUTADORAS\n"); printf("\n\noooooooooooooooooooooo\n\n"); n = Aleatorio(); SecBits(n); /*Genera numero aleatorio*/ /*lo muestra como secuencia de bits*/

printf("\n\nPoner a 0 solo los bits desde una posicn dada\n"); printf("Ingrese posicion del bit (0 a 7)\n? "); scanf("%d",&b); n = BitsACero(n,b); SecBits(n); /*lo muestra como secuencia de bits*/

LABORATORIO DE ARQUITECTURA DE COMPUTADORAS

UNIVERSIDAD TECNOLGICA DEL PER FACULTAD DE INGENIERA ELCTRNICA, MECATRNICA Y TEXTIL

printf("\n\noooooooooooooooooooooo\n\n"); n = Aleatorio(); SecBits(n); printf("\n\nPoner a 1 solo los bits desde una posicn dada\n"); printf("Ingrese posicin del bit (0 a 7)\n? "); scanf("%d",&b); n = BitsAUno(n,b); SecBits(n); printf("\n\noooooooooooooooooooooo\n\n"); n = Aleatorio(); SecBits(n); printf("\n\nCommutar solo los bits desde una posicn dada\n"); printf("Ingrese posicin del bit (0 a 7)\n? "); scanf("%d",&b); n = ComBits(n,b); SecBits(n); printf("\n\noooooooooooooooooooooo\n\n"); return 0; } /*XXXXXXXXXXXXXXXXXXXXXXXXX*/ int Aleatorio( void ) { time_t t; srand((unsigned) time(&t)); return rand() & 0xFF;

} /*XXXXXXXXXXXXXXXXXXXXXXXXX*/ void SecBits( int valor ) { printf("\n\nXXh = XXXXXXXXb\r"); printf("%02Xh = ",valor); if( (valor & 0x80) == 0x80 ) printf("1"); else printf("0"); /*COMPLETAR PARA EL RESTO DE BITS*/ } /*XXXXXXXXXXXXXXXXXXXXXXXXX*/ int BitsACero( int Num, int Bit ) { if( Bit == 0 ) { Num = Num; }

LABORATORIO DE ARQUITECTURA DE COMPUTADORAS

UNIVERSIDAD TECNOLGICA DEL PER FACULTAD DE INGENIERA ELCTRNICA, MECATRNICA Y TEXTIL

else if { Num = } else if { Num = }

(Bit == 1 ) Num; (Bit == 2 ) Num;

/*COMPLETAR LA OPERACIN Y EL ANLISIS PARA EL RESTO DE BITS*/ return Num; } /*XXXXXXXXXXXXXXXXXXXXXXXXX*/ int BitsAUno( int Num, int Bit ) { if( Bit == 0 ) { Num = Num; } else if (Bit == 1 ) { Num = Num; } else if (Bit == 2 ) { Num = Num; } /*COMPLETAR LA OPERACIN Y EL ANLISIS PARA EL RESTO DE BITS*/ return Num; } /*XXXXXXXXXXXXXXXXXXXXXXXXX*/ int ComBits( int Num, int Bit ) { if( Bit == 0 ) { Num = Num; } else if (Bit == 1 ) { Num = Num; } else if (Bit == 2 ) { Num = Num; } /*COMPLETAR LA OPERACIN Y EL ANLISIS PARA EL RESTO DE BITS*/ return Num; }

LABORATORIO DE ARQUITECTURA DE COMPUTADORAS

You might also like