This week's giveaway is in the EJB and other Java EE Technologies forum. We're giving away four copies of EJB 3 in Action and have Debu Panda, Reza Rahman, Ryan Cuprak, and Michael Remijan on-line! See this thread for details.
I'm having trouble getting good results with quite simple calculations with Math.log10. For instance, I get Math.log10(16)/Math.log10(2)=3.906890595..., but I should get 4.0... Why is this? I'm not doing anything fancy at all, just
to do a base conversion... I'm using JDK1.6.0_05-b13 on SunOS(sparc SUNW,ultra-4) [ July 03, 2008: Message edited by: Carl Pettersson ]
I tried this just now on Windows XP, with Sun Java 1.6.0 update 6:
The output is: 4.0
You probably know that data types such as double are not infinitely precise. Do you yet 3.90... if you run that exact code? That would be strange. You could try searching the Sun bug database if there's a known issue with regard to this on SunOS.
Do you have another computer (with maybe a different OS) on which you can test your code?