Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > C++ Builder
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 28-04-2008
BC++ BC++ is offline
Miembro
 
Registrado: ene 2008
Posts: 44
Poder: 0
BC++ Va por buen camino
Campo de Bits Builder c++

Hola Amigos del Foro,
Tengo una pregunta, Les comento estoy tratando de ahorrar la mayor cantidad de memoria en RAM (programando con Builder c++ 6.0). Y me comentaron por ahì que una manera es, en lugar de utilizar variables int (eneras) o short (integer , bytes en Delphi (creo que es asi como se definen) ) es trabajar con bits.

leyendo algunas paginas y libro de programacion me dicen que desde una estructura puedo definir una variable con unsigned "nombreVariable" ":" "2" y con eso estoy definiendo una variable que se llama nombreVariable de 2 a la 2 bits. y asi puedo definir varias nombreVariableA:4, nombreVariableA:6, etc

La pregunta concreta es si existe alguna manera de que la variable se auto defina, por que tengo que ir almacenando varios numeros en esta estructura.

ejemplo

struct
{
char A;

int valor;
}

int representa 32 bits, pero en el caso de que el valor sea igual a 1, se completara con 31 ceros seguidos de un "1" y en ese caso estoy llenando de ceros y me parece mal uso de la memoria. para este caso nose podria automaticamente definir VALOR:1.


La verdad nose si se puede hacer esto con builder c++
el que me paso esta informacion trabaja con fortran

Entonces volviendo al caso de que el valor sea igual a 1, que tomè el largo de esta variable, y mediante longitud de bits asigne el tamaño o typo a la variable valor dentro de la estructura.

los
valores que puede tomar "valor" son desde 1 a 100.000 (long int) , esto es un ejemplo. La idea basica es refinir y optimizar la RAM para almacenar la mayor cantidad de datos.


Desde ya, muchas gracias.

Pd: si algo no se entendio ruego, que me avisen asi nuevamente lo comento de otra forma.

Saludos. BC++ (principiante)

Última edición por BC++ fecha: 28-04-2008 a las 22:34:47. Razón: Completar mensaje
Responder Con Cita
  #2  
Antiguo 28-04-2008
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.197
Poder: 20
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
No puedes minimizar el tamaño minimo de información. Revisa las opciones de compilacion. Advanced compiler / data aligment. Lo que aqui se defina es el tamaño mínimo que un dato puede ocupar.

Lo que puedes hacer es utilizar un Byte, Word, DoubleWord o QuadWord para almacenar varias variables encerradas en el. Bien sabiendo la posicion del bit o bits que te interesan y utilizar aritmética binaria, bien conjugando campos de bits y uniones.

Saludos.
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
Firebird en 64 bits gescoto99 Conexión con bases de datos 15 06-08-2010 12:04:57
Aplicaciones de 32 bits en Windows de 64 bits Gabo Debates 9 25-09-2008 20:49:32
convertir de 16 a 32 bits chavito_123 Varios 1 03-07-2007 07:38:14
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


La franja horaria es GMT +2. Ahora son las 12:36:32.


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