DEvilpc, no acabo de entender lo que quieres.
Guardar un dato en formato float significa eso mismo, una codificacion. Otra cosa es como representarlo.
En alguna ocasion, me ha ocurrido que si pones un valor, al printarlo sale otro.
Ejemplo:
float f ;
f=12345678.456789
printf("%f",f) ;
resultado 12345678.4588
Es decir, la "precision" es variable.
Si pretendes cojer la parte "real" y "decimal" del float, existen funciones de C que lo hacen, guardando esos valores en variables enteras.