Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 03-12-2009
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.806
Poder: 22
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
En booleano:
Código PHP:
and 1
and 0
and 0
and 
Código:
1 or 1 = 1
1 or 0 = 1
0 or 1 = 1
0 or 0 = 0
Dado un byte A (8 bits) y otro B, "A and B" resulta de realizar la función "and" con cada par de bits.
Dado un byte A (8 bits) y otro B, "A or B" resulta de realizar la función "or" con cada par de bits.

Si quieres encender un bit, puedes hacer un byte B, con solo el bit deseado en 1 y realizar "A and B":

Código:
A = 0101 0000
B = 0010 0100
    ---------
    0111 0000
Si quieres apagar un bit puedes realizar un byte B con todos los bits encendidos excepto el que quieres apagar:

Código:
A = 0101 0000
B = 1110 1111
    ---------
    0100 0000
Responder Con Cita
  #2  
Antiguo 03-12-2009
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.806
Poder: 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
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
A dónde ir? marcoszorrilla La Taberna 4 26-10-2007 00:03:07
VCL.Net donde? Libarra .NET 9 23-10-2007 23:46:45
...de donde son???... Jure Humor 4 20-05-2005 18:24:48
de donde? jam888 Varios 2 23-04-2005 02:08:54
Donde csoriano Impresión 1 18-08-2003 16:21:49


La franja horaria es GMT +2. Ahora son las 08:50:03.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi