Процессоры PowerPC (Mac до 2006-2007 гг., тонны текущих серверов IBM) используют 128-битный формат, состоящий из двух удвоений для длинного двойного, вместо этого, если расширенный формат IEEE 754.
Однако в C или Objective-C нет переносимого способа интерпретировать число с плавающей запятой 32-разрядного или 64-битного числа в виде целого числа (предполагается, что float и uint32_t, или double и uint64_t имеют одинаковое количество биты). Когда мне нужно было что-то делать, мне пришлось писать разные коды в зависимости от компилятора (один из них использовал объединение, один - путем двойного перевода длинным *). Не знаю, сделает ли переинтерпретатор на C ++ портативным.