This may be helpful information.
C has no defined accuracy of floating point calculations. It is totally platform dependant.
Java has a very tightly defined floating point standard, which happens to be about the most accurate choices of options from the IEEE spec.
This is oen of the issues we run into in trying to bring Java down to consumer devices, which often cheat on their floating point hardware. The PS2 is a great example,. to do Java correctly by the current spec would require software emulation of floating poitn on the PS2