Eso debe ser por que esta limitado. Por lo que lei CCS utiliza:
23 bit mantissa and an 8 bit exponent which in decimal means 6 or 7 significant digits (6.5)
Ahora entra la parte del por que del problema. Tenes que acordarte que el PIC usa binario. Como hay numeros que pueden representarse directamente, como hay numero que no.
Por ejemplo
1/2 = 0.5 = 0.1
1/4 = 0.25 = 0.01
y
1/3 = .010101101101101101101101101101101101101101 y continua.
Ese numero es imposible de representarlo, lo cual si lo truncas a 23bits terminas perdiendo informacion
Entonces puede que tu numero sea un numero irrepresenntable con esa cantidad de bits y por eso no da una solucion exacta.
Segun wikipedia:
El IEEE 754:
Single precision, usually used to represent the "float" type in the C language family (though this is not guaranteed). This is a binary format that occupies 32 bits (4 bytes) and its significand has a precision of 24 bits (about 7 decimal digits).
Double precision, usually used to represent the "double" type in the C language family (though this is not guaranteed). This is a binary format that occupies 64 bits (8 bytes) and its significand has a precision of 53 bits (about 16 decimal digits).
Asi que si queres representar algo de esa forma o vas a tener que realizar vos tu propio codigo para una doble presicion o vas a tener que buscar alguno. Obviamente esto no es nada "barato" computacionalmente y en espacio de ROM y RAM
Por otra parte... podrias intentar realizar la operacion en 2 partes, pero esto te dejaria con 2 numeros float, y que tal ves no sirvan a tu proposito, o tal ves puedas pasarl oa string y tratar de juntarlos. Tampoco se la precision que tendrias.
Sino recurrir a un DSP con puto flotante para esa cantidad de digitos. Pero imagino que es muchisimo mas preferible perder 1 numero decimal y no la cantidad de dinero que necesitas para ese DSP
Tambien la opcion de tener un micro con DSP con coma flotante de simple precision y ayudarse con eso para llegar a la doble precision. Esto es mas cercano, pero requiere un gran cambio de todo, herramientas,programadores,etc,etc,etc ( el Cortex M4F tiene esto)