Вы можете получить машинные данные с плавающей точкой, используя объединение или приведение указателя и разыменование.Объединение используется, когда несколько типов могут храниться в одном месте, и к любому из этих типов можно получить доступ независимо от того, какой из них использовался для установки значения.
union {
float f;
unsigned int i;
} converter;
converter.f = flt;
// converter.i now contains an integer representing the hexadecimal value of flt
h = [NSString stringWithFormat:@"0x%08X",converter.i];
Если вы получили указатель на число с плавающей точкойзатем приведите его к целому числу, вы получите тот же эффект.Этот метод требует меньше кода, но может быть более запутанным, когда вы его видите.
h = [NSString stringWithFormat:@"0x%08X",*((unsigned int *)(&flt))];
Точно так же, как ответ Янна, результатом является представление float машиной, и этот код предполагает, что float и int обаДлина 4 байта.