#include <iostream>
#include <bitset>
using namespace std;
void printFloatBits(float x) {
// Interpretujemy float jako 32-bitową liczbę całkowitą
uint32_t bits = *reinterpret_cast<uint32_t*>(&x);
bitset<32> b(bits);
cout << "Liczba: " << x << endl;
cout << "Bity: " << b << endl;
cout << "Znak: " << b[31] << endl;
cout << "Wykładnik: " << b.to_string().substr(1, 8) << endl;
cout << "Mantysa: " << b.to_string().substr(9) << endl;
cout << "--------------" << endl;
}
int main() {
printFloatBits(10.5f);
printFloatBits(-0.2f);
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8Yml0c2V0Pgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKdm9pZCBwcmludEZsb2F0Qml0cyhmbG9hdCB4KSB7CiAgICAvLyBJbnRlcnByZXR1amVteSBmbG9hdCBqYWtvIDMyLWJpdG93xIUgbGljemLEmSBjYcWCa293aXTEhQogICAgdWludDMyX3QgYml0cyA9ICpyZWludGVycHJldF9jYXN0PHVpbnQzMl90Kj4oJngpOwoKICAgIGJpdHNldDwzMj4gYihiaXRzKTsKCiAgICBjb3V0IDw8ICJMaWN6YmE6ICIgPDwgeCA8PCBlbmRsOwogICAgY291dCA8PCAiQml0eTogICAiIDw8IGIgPDwgZW5kbDsKCiAgICBjb3V0IDw8ICJabmFrOiAgICAgICAiIDw8IGJbMzFdIDw8IGVuZGw7CiAgICBjb3V0IDw8ICJXeWvFgmFkbmlrOiAgIiA8PCBiLnRvX3N0cmluZygpLnN1YnN0cigxLCA4KSA8PCBlbmRsOwogICAgY291dCA8PCAiTWFudHlzYTogICAgIiA8PCBiLnRvX3N0cmluZygpLnN1YnN0cig5KSA8PCBlbmRsOwogICAgY291dCA8PCAiLS0tLS0tLS0tLS0tLS0iIDw8IGVuZGw7Cn0KCmludCBtYWluKCkgewogICAgcHJpbnRGbG9hdEJpdHMoMTAuNWYpOwogICAgcHJpbnRGbG9hdEJpdHMoLTAuMmYpOwogICAgcmV0dXJuIDA7Cn0K