Hi, Houa

The first step is to use the brain ...

by multiplying a per 1000 and B per 100 ... you get integers, and so on.

AA = 34 030 * 1E-5
BB = 7 230 792 * 1E-3 ... over 16 bits, so,The second step is to define the precision of the result you want ...

X = - 7 305.5717 ok ... but what is the real meaning of the last digits ???

Here you find THE GOOD QUESTION ....

10 Bits for an ADC or DAC is .1 % ...
12 Bits ......................... is .025%

do you know lots of Pic level peripherals with a better accuracy ??? Do you know how to realise those circuits ???

so, 1 of 12 bits of your result is 1.8, say 2 ...

.5717 really do not mean anything here, in the real world !!!

Now, If you really want to do maths for maths ...

Have a look to Melabs site, you'll find two valuable solutions

1) Microchip FP files to " include" to your program
2) arithmetic co-processor ... wich is the most simple Way.

The last solution is to change compiler ( no, no ... not on the head ) or processor ... where those solutions are already cooked implemented.

Hope it helps you to better see the truth !!!

Alain