Ver Mensaje Individual
  #2  
Antiguo 10-03-2008
Avatar de cHackAll
[cHackAll] cHackAll is offline
Baneado?
 
Registrado: oct 2006
Posts: 2.159
Reputación: 20
cHackAll Va por buen camino
Cita:
Empezado por Guillermo80 Ver Mensaje
He estado mirando en el libro de Delphi4 y por internet pero no encuentro si existe algún operador para declarar un campo de bit. En C se utiliza el operador " : ", y dice que es algo de relativa "exclusividad" de C, pero yo me niego a creer que no exista una equivalencia para Delphi.

Por otra parte, si únicamente me hiciese falta declarar un campo de 1bit, me pregunto si me valdría con declarar simplemente un booleano.

Un saludo.
En realidad cuando el opcode era optimizado para 8 bits, declarar una variable de un byte (8 bits) era lo óptimo, lo mismo con la arquitectura de 16 bits y con la actual de 32 bits. Al declarar una variable de un bit en una base de datos, sistema operativo o en memoria; el motor, nucleo o microprocesador lo procesa como un byte, el compilador trabaja con un byte (no así con un bit) alojándolo en un byte entero (sea en memoria volatil o no).

En resumen... un bit es algo teorico/practico, "físicamente" siempre será un byte. Ahora que es lo mejor? trabajar con un Boolean (Byte) o un LongBool(DWORD)?... yo me quedo con ambos porque ambos producen un muy parecido opcode y con los microprocesadores de 32 bits la velocidad es hasta mayor con un DWORD. PERO, si la idea es ahorrar espacio en disco me quedo con el byte.

PD: Delphi permite trabajar a nivel de bits con not, xor, and, or, shl, shr, set, hasta se puede utilizar codigo en lenguaje de maquina y utilizar ror, rol, adc, acc, etc...

Saludos
Responder Con Cita