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-10-2005
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.964
Poder: 29
delphi.com.ar Va camino a la fama
Cita:
Empezado por Mick
Si usamos Delphi 7 no hace falta reinventar la rueda, basta utilizar
la clase TBits, que precisamente implementa un array de booleanos pero
utilizando un solo bit de informacion por booleano.
Creo que no es el caso, cualquier clase en Delphi (por lo menos los de 32 bits), solo su puntero, ocupa al menos 4 bytes...
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #2  
Antiguo 04-10-2005
Mick Mick is offline
Miembro
 
Registrado: may 2003
Posts: 405
Poder: 24
Mick Va por buen camino
Cita:
Empezado por delphi.com.ar
Creo que no es el caso, cualquier clase en Delphi (por lo menos los de 32 bits), solo su puntero, ocupa al menos 4 bytes...
Realmente cualquier clase ocupa un poco mas de 4 bytes. Pero estamos hablando de uso de array de bits, y eso esta pensado para guardar muchos elementos, y ahi es donde nos ahorramos mucha memoria, ya que el coste de memoria para gestionar la clase es fijo.
Es decir si necesitamos 16384 booleanos por ejemplo, usando un objecto TBits gastamos 16384/8= 2048 bytes de memoria + unos pocos bytes fijos de la clase asi como de la cabecera del bloque de memoria reservado para guardar la info (pueden ser sobre 20 bytes a mayores).
En cambio 16384 booleanos reales ocupan 16384*4 = 65536 bytes.
Es decir es un ahorro enorme de casi 32 a 1.

Saludos
Responder Con Cita
  #3  
Antiguo 04-10-2005
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.141
Poder: 36
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Voy a extractar de cierto libro titulado El gran libro de Delphi 2, de Jens Herber, Jörg Herbes y Jörg Rensmann, traducido por varios autores. No los nombro pero sin ellos, etc.

Cita:
5.2 Tipos de datos estándar y su utilización

Todos los programas de ordenador, y todos [los] datos escritos escritos por usted y que utiliza este programa, constan de una secuencia de bits en la memoria. Un bit es una posición de memoria cuyo valor puede ser 0 ó 1. Una zona cualquiera del contenido de la memoria podría presentar el aspecto siguiente:

011001110010101110110101

En principio todo parece indicar que esta secuencia de bits carece por completo de estructura. Por lo tanto se tiene que crear una normativa para poder interpretarla inequívocamente. A tal fin se realiza, en primer lugar, una división en bytes, cada uno de los cuales comprende 8 bits. A continuación, se reúnen dos bytes para formar lo que se denomina palabra, que contiene, por tanto, 16 bits.

Falta aún por conocer el tipo del valor representado en la memoria por esta secuencia de bits para que se pueda interpretar el contenido de esa memoria. El tipo del valor contiene el número de bits pertenecientes al valor representado por la secuencia y la forma en que este valor se ha codificado en unos y ceros. Sólo conociendo el tipo del valor quedará claro si esta zona de la memoria representa un número entero, un número de coma flotante, caracteres, texto o cualquiera otras estructuras de datos.

Además del tamaño y la forma en que se codifica un valor, un tipo de datos contiene otras informaciones. Dado que todo tipo de datos tiene un tamaño determinado en la memoria, no puede representar cualquier número. Como consecuencia, cada tipo de datos tiene un rango de valores definido cuyas cotas, inferior y superior, no se deben sobrepasar. Así, mediante la declaración de tipo se especifica el rango de valores que puede tomar una variable o constante de este tipo.

Si un tipo de datos tuviese una longitud de una palabra, es decir 2 bytes ó 16 bits, podrá representar, como máximo, 2 [elevado a 16] = 65.536 valores distintos, ya que cada bit sólo puede tomar dos valores distintos (0 ó 1).

Además con el tipo de datos se definen también las operaciones permitidas para tal tipo. Así, para el tipo de datos Integer, que representa números enteros, están definidas, entre otras, las operaciones de suma, resta y producto. Esto facilita al compilador de Delphi un control de su manera de proceder con los tipos de datos: tan pronto como utilize una operación que no esté definida para el tipo de datos correspondiente, el compilador mostrará un mensaje de error y no ejecutará su aplicación.
El texto continúa, pero, con una descripción de los tipos simples y la típica tabla de tipos disponibles, con su descripción, rango de valores y longitud. Como de poco más que esto he tomado la información en que me he basado para escribir mi opinión en este Hilo, ahora, al releerlo y transcribirlo, pienso que estaba equivocado yo y que roman va por el buen camino: es Delphi el que se encarga del tipo de datos, es el compilador, no sé cómo lo hará, pero el tipo de datos no está unido, como pensaba, al dato en sí, según me deja entender el texto que acabo de transcribir.
__________________
David Esperalta
www.decsoftutils.com
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


La franja horaria es GMT +2. Ahora son las 13:02:38.


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