I need to store the floating point value in a 32 bit integer, where the 1st bit is the sign, bits from 2 to 20 are holding the integer part and 21 to 32 the fraction part. It's for 3d on Nintendo DS, because this particular format number is used to handle matrix transformations via hardware.