Bonjour,

Prenons ce bout de code dont le but est d'afficher les bits d'un flottant :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
int main() {
	float value = 1.0f;
	auto integer = reinterpret_cast<std::uint32_t&>(value);
	std::cout << std::bitset<32>(integer) << std::endl;
}
Pourquoi est-il nécessaire de mettre un & dans le cast, sous peine d'obtenir l'erreur suivante ?
error: invalid cast from type 'float' to type 'uint32_t {aka unsigned int}'
Question secondaire : est-ce que ma technique d'affichage des bits est correcte ? Y a t-il mieux ?

Merci d'avance !