How to normalize a mantissa

A floating point number is normalized when we force the integer part of its mantissa to be exactly 1 and allow its fraction part to be whatever we like. For example, if we were to take the number 13.25, which is 1101.01 in binary, 1101 would be the integer part and 01 would be the fraction part. I could represent 13.25 as 1101.01*(2^0), but this isn’t normalized because the … Read more

Convert float to double without losing precision

It’s not that you’re actually getting extra precision – it’s that the float didn’t accurately represent the number you were aiming for originally. The double is representing the original float accurately; toString is showing the “extra” data which was already present. For example (and these numbers aren’t right, I’m just making things up) suppose you … Read more

What is the difference between “Double” and “double” in Java?

Double is an object and double is a primitive data type. See this answer for more details. The Double class wraps a value of the primitive type double in an object. An object of type Double contains a single field whose type is double. Source: http://docs.oracle.com/javase/7/docs/api/java/lang/Double.html

Float and double datatype in Java

The Wikipedia page on it is a good place to start. To sum up: float is represented in 32 bits, with 1 sign bit, 8 bits of exponent, and 23 bits of the significand (or what follows from a scientific-notation number: 2.33728*1012; 33728 is the significand). double is represented in 64 bits, with 1 sign bit, 11 bits of … Read more