Вы можете просто написать это самостоятельно:
float x;
const unsigned char * pf = reinterpret_cast<const unsigned char*>(&x);
for (size_t i = 0; i != sizeof(float); ++i)
{
// ith byte is pf[i]
// e.g. printf("0x02X ", pf[i]);
}
Фактически, вы можете сделать это, чтобы получить двоичное представление любой (стандартная схема *) переменной.
*) спасибо, @R. Мартиньо Фернандес!
Если вы решите попробовать это на long double
(или, точнее, на 80-битном плавающем преобразовании с повышенной точностью), знайте, что он имеет только 10 байтов, но дополняется до 12 или 16 на x86 / x64, соответственно.