inline void undenormalize(float &value) { const int x = *reinterpret_cast<const int *>(&value); // 32bit intのみ使用可能 const int abs_mantissa = x & 0x007FFFFF;// 仮数部 const int biased_exponent = x & 0x7F800000;// 指数部 if ((biased_exponent == 0) && (abs_mantissa != 0)) { value = 0; } }