Procesamiento de datos ADXL345

Buen día,
Estoy utilizando el acelerometro ADXL345 y no puedo trabajar de forma optima con los datos que me propociona. Es decir, puedo leer los datos de cada uno de los 3 ejes, pero al momento de usar alguno de estos por ejemplo para calcular la Fuerza G, me redondea el resultado al numero entero anterior mas cercano.

Les dejo un ejemplo para que se entienda mejor:

Uso el parametro ajustable de fuerza G del sensor en 16G, por lo que 32 equivale a 1G
El problema llega cuando el dato no llega a 32 o lo sobre pasa.
En el caso de ser 31 o menor, me arroja que la fuerza G es cero
Si es mayor, no importa el valor (al menos que llegue o sobrepase 64 lo cual serian 2G), siempre devuelve como resultado 1G, por mas que el valor sea63 inclusive.

Cabe destacar que estoy usando el valor de un solo eje(x, y, z) y las variables con las que realizo los calculos son de tipo Float

Desde ya muchas gracias y espero sus respuestas.

Y en lugar de plantear las cosas como lo has hecho, porque no pones el código asi vemos si hay algun problema porque asi es dificil darte un consejo.
Lee las normas por favor, porque tu debes aportar siempre la mayor información posible y no suponer que es esto o lo otro. Si supieras como resolverlo no vendrías al foro a pedir por ayuda o guía no?

Nosotros podemos brindar ayuda con toda la info.