Тема: Перетворення float в binary
Потрібно було перетворити float в бінарну форму, а тоді бінарну форму в ціле число.
Я знайшов рішення:
#include <bitset>
#include <climits>
int convert_to_int(float f) {
union
{
float input;
int output;
} data;
data.input = f;
std::bitset<sizeof(float) * CHAR_BIT> bits(data.output);
return (int)(bits.to_ulong());
}
Не розумію лише як працює в union input та output.
Тобто bitset приймає або ціле число, або string.
Тому зрозуміло, чому в bits береться саме int.
Але як конвертація float в int в union відбувається незрозуміло.