Here you can find the source of floatToIntBits(final float f)
Parameter | Description |
---|---|
f | an input floating-point number |
public static final int floatToIntBits(final float f)
//package com.java2s; public class Main { /**/* w w w. j a v a 2s . c o m*/ * Returns the representation of the specified floating-point * value according to the IEEE 754 floating-point "single format" * bit layout, after first mapping -0.0 to 0.0. This method is * identical to Float.floatToIntBits(float) except that an integer * value of 0 is returned for a floating-point value of * -0.0f. This is done for the purpose of computing a hash code * that satisfies the contract of hashCode() and equals(). The * equals() method in each vecmath class does a pair-wise "==" * test on each floating-point field in the class (e.g., x, y, and * z for a Tuple3f). Since 0.0f == -0.0f returns true, * we must also return the same hash code for two objects, one of * which has a field with a value of -0.0f and the other of which * has a cooresponding field with a value of 0.0f. * * @param f an input floating-point number * @return the integer bits representing that floating-point * number, after first mapping -0.0f to 0.0f */ public static final int floatToIntBits(final float f) { // Check for +0 or -0 return ((f == 0.0f) ? 0 : Float.floatToIntBits(f)); } }