Float represenation in Java August 17, 2014 Reading time ~1 minute This example illustrates how to extract the sign (the leftmost bit), exponent (the 8 following bits) and mantissa (the 23 rightmost bits) from a float in Java. int bits = Float.floatToIntBits(-0.005f); int sign = bits >>> 31; int exp = (bits >>> 23 & ((1 << 8) - 1)) - ((1 << 7) - 1); int mantissa = bits & ((1 << 23) - 1); System.out.println(sign + " " + exp + " " + mantissa + " " + Float.intBitsToFloat((sign << 31) | (exp + ((1 << 7) - 1)) << 23 | mantissa)); The same approach can be used for double’s (11 bit exponent and 52 bit mantissa). long bits = Double.doubleToLongBits(-0.005); long sign = bits >>> 63; long exp = (bits >>> 52 & ((1 << 11) - 1)) - ((1 << 10) - 1); long mantissa = bits & ((1L << 52) - 1); System.out.println(sign + " " + exp + " " + mantissa + " " + Double.longBitsToDouble((sign << 63) | (exp + ((1 << 10) - 1)) << 52 | mantissa)); For more information look here. Read More News recommendation with ML and NLP Slides from a lecture at NTNU. … Continue reading Running Open AI Gym on Windows 10 Published on September 17, 2018 Get started with Flutter in 30 minutes Published on May 31, 2018