Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 10-03-2008
Avatar de Guillermo80
Guillermo80 Guillermo80 is offline
Miembro
 
Registrado: may 2007
Posts: 87
Poder: 17
Guillermo80 Va por buen camino
Campos de bits

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.
Responder Con Cita
  #2  
Antiguo 10-03-2008
Avatar de cHackAll
[cHackAll] cHackAll is offline
Baneado?
 
Registrado: oct 2006
Posts: 2.159
Poder: 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
  #3  
Antiguo 11-03-2008
Avatar de Guillermo80
Guillermo80 Guillermo80 is offline
Miembro
 
Registrado: may 2007
Posts: 87
Poder: 17
Guillermo80 Va por buen camino
ok

Sí, lo del booleano es lo que finalmente voy a hacer, porque además solo es para tratar un bit, ya te contaré si fue bien la cosa (cuando pruebe otros cientos de cosas que tengo en paralelo, claro ).

Gracias y un saludo¡
Responder Con Cita
Respuesta



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
Aplicaciones de 32 bits en Windows de 64 bits Gabo Debates 9 25-09-2008 20:49:32
Convertir un BMP de 24 Bits a 8 Bits TEO127 Gráficos 3 18-06-2007 17:58:19
C++Builder y 64 bits locotenentul C++ Builder 2 19-10-2005 09:21:40
computadoras a 64-bits dape Varios 3 04-10-2005 05:19:22
Firebird y S.O de 64 bits senpiterno Firebird e Interbase 6 28-11-2004 01:18:31


La franja horaria es GMT +2. Ahora son las 01:15:56.


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