// Laboratorio 1 Ejercicio 1.cpp: define el punto de entrada de la aplicaci�n de consola. // #include "stdafx.h" #include #include #include #include #include using namespace std; bool BitEncendido(int Simbolo, int cual) { int Mascara = 1; Mascara = Mascara << cual; if ((Simbolo & Mascara)==0) return false; // Da 0 lo que significa que la posicion cual estaba en 0 else return true; // Da <>0 lo que significa que la posicion cual estaba en 1 } bool BitApagado(int Simbolo, int cual) { int Mascara = 1; Mascara = Mascara << cual; if ((Simbolo & Mascara)==0) return true; // Da 0 lo que significa que la posicion cual estaba en 0 else return false; // Da <>0 lo que significa que la posicion cual estaba en 1 } void EncenderBit(int &Simbolo, int cual) { int Mascara = 1; Mascara = Mascara << cual; Simbolo = Simbolo | Mascara; } void ApagarBit(int &Simbolo, int cual) { int Mascara = 1; Mascara = Mascara << cual; Mascara = ~Mascara; Simbolo = Simbolo & Mascara; } void PinteBits(int Simbolo) { int Uno=1; int Cero=0; for (int i=7; i>=0; --i) { if (BitEncendido(Simbolo,i)) printf("%d ",Uno); else printf("%d ",Cero); } printf("\n"); } void main() { int Prueba=0; int j; for(j=0; j<=7; j++) { printf("%s \n", "------------------"); EncenderBit(Prueba,j); // Enciende el Bit en la posicion "j" printf("%d :", Prueba); PinteBits(Prueba); ApagarBit(Prueba,j); // Apaga el Bit en la posicion "j" printf("%d :", Prueba); PinteBits(Prueba);//Queda en 0 porque apago el Bit encendido. } for (j=0; j<=255; j++) { printf("Numero %d : ", j); PinteBits(j); } } /*void InvertirBit(int &Simbolo, int cual) { int Mascara = 1; Mascara = Mascara << cual; Simbolo = Simbolo ^ Mascara; } void ApagarBit(int &Simbolo, int cual) { int Mascara = 1; if (BitEncendido(Simbolo,cual)){ Mascara = Mascara << cual; Simbolo = Simbolo ^ Mascara; } }*/