Capacidad (bits) necesaria para almacenar mediciones.

Hola,
en C se pueden usar los campos de bits, que pueden servir para optimizar el uso de memoria. En este caso, se podría definir una estructura que engloba los datos mencionados

struct datos_byte
{
   int temperatura: 7;                 // 128 estados
   unsigned int      semana: 3;      //   7 estados
   unsigned int     dia_mes: 5;      //  31 estados
   unsigned int  nombre_mes: 4;   //  12 estados
   unsigned int        hora: 5;        //  24 estados
   unsigned int     minutos: 6;       //  60 estados
   unsigned int    segundos: 6 ;     //  60 estados
} datos;