question: public static float copySign ( final float magnitude , final float sign ) { return Float . intBitsToFloat ( Float . floatToRawIntBits ( sign ) & Integer . MIN_VALUE | Float . floatToRawIntBits ( magnitude ) & Integer . MAX_VALUE ) ; }
target:  A sign of NaN can be interpreted as positive or negative.