Ver Mensaje Individual
  #5  
Antiguo 03-12-2009
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.806
Reputación: 22
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
En Delphi

Código Delphi [-]
function EncenderBit (b, bit : byte) : byte;
var
   suma : byte;
begin
   case bit of
   1 : suma :=   1; // que es 0000 0001 en binario
   2 : suma :=   2; // que es 0000 0010 en binario
   3 : suma :=   4; // que es 0000 0100 en binario
   4 : suma :=   8; // que es 0000 1000 en binario
   5 : suma :=  16; // que es 0001 0000 en binario
   6 : suma :=  32; // que es 0010 0000 en binario
   7 : suma :=  64; // que es 0100 0000 en binario
   8 : suma := 128; // que es 1000 0000 en binario
   end;
   Result := b or suma;
end;

function ApagarBit (b, bit : byte) : byte;
var
   suma : byte;
begin
   case bit of
   1 : suma := 254; // que es 1111 1110 en binario
   2 : suma := 253; // que es 1111 1101 en binario
   3 : suma := 251; // que es 1111 1011 en binario
   4 : suma := 247; // que es 1111 0111 en binario
   5 : suma := 239; // que es 1110 1111 en binario
   6 : suma := 223; // que es 1101 1111 en binario
   7 : suma := 191; // que es 1011 1111 en binario
   8 : suma := 127; // que es 0111 1111 en binario
   end;
   Result := b and suma;
end;
Responder Con Cita