duda sobre campos de bits
Publicado por izma (1 intervención) el 31/12/2002 00:23:35
Estoy haciendo un programilla en el que tengo una estructura con dos miembros. Supongamos:
struct ejemplo {
int miembro1;
int miembro2;
}
Tengo que construir una matriz de esta estructura con bastantes elementos. El caso es que miembro2 solo puede tener 3 valores distintos. Para ahorrar memoria, se me ocurrió hacer que miembro2 fuese un campo de 2 bits, con lo que quedaría:
struct ejemplo2 {
int miembro1;
unsigned miembro2 : 2;
}
He probado a ver que devuelve el sizeof(ejemplo) y sizeof(ejemplo2), y en los dos obtengo el mismo resultado, con lo que parece que no ahorro memoria (supongo esto tenga que ver con la arquitectura hardware del ordenador).
Mi pregunta es ¿hay otro método para ahorrar memoria?
struct ejemplo {
int miembro1;
int miembro2;
}
Tengo que construir una matriz de esta estructura con bastantes elementos. El caso es que miembro2 solo puede tener 3 valores distintos. Para ahorrar memoria, se me ocurrió hacer que miembro2 fuese un campo de 2 bits, con lo que quedaría:
struct ejemplo2 {
int miembro1;
unsigned miembro2 : 2;
}
He probado a ver que devuelve el sizeof(ejemplo) y sizeof(ejemplo2), y en los dos obtengo el mismo resultado, con lo que parece que no ahorro memoria (supongo esto tenga que ver con la arquitectura hardware del ordenador).
Mi pregunta es ¿hay otro método para ahorrar memoria?
Valora esta pregunta


0