{$codepage UTF8} VAR a,b,c:byte; bandera1,bandera2,bandera3,bandera4,bandera5,bandera6,bandera7,bandera8:byte; compuertas:byte; BEGIN //MultiplicaciĆ³n y DivisiĆ³n por potencias de 2 a:=4; Writeln('4 por 2 a la 1 = ',a shl 1); Writeln('4 por 2 a la 2 = ',a shl 2); Writeln('4 dividido por 2 a la 1 = ',a shr 1); Writeln('4 dividido por 2 a la 2 = ',a shr 2); //Determinar el estado de bits a:=%00010100; //20 en decimal b:=%00000100; //mascara verifica 3er bit Writeln(a and b); // Muestra distinto de cero, esta activado b:=%00001000; //mascara verifica 4to bit Writeln(a and b); // Muestra 0 no esta activado //Apagar o poner a 0 un bit a:=%00000010; // 2 en decimal b:=%11111101; a:=a and b; Writeln('a = ',a); // da como resultado 0 //Apagar o poner a 1 un bit a:=%00000000; // 0 en decimal b:=%00000010; a:=a or b; Writeln('a = ',a); // 2 en decimal //Juntar Banderas bandera1:=%00000001; //1 bandera2:=%00000010; //2 bandera3:=%00000100; //4 bandera4:=%00001000; //8 bandera5:=%00010000; //16 bandera6:=%00100000; //32 bandera7:=%01000000; //64 bandera8:=%10000000; //128 compuertas:=bandera1 or bandera3 or bandera4; //compuertas --> %00001101 --> 13 en decimal //el valor 13 nos indica que las compuertas 1,3 y 4 estan abiertas. Writeln('Compuertas = ',Compuertas); readln; END.