#include <iostream>
#include <bitset>
using namespace std;
int main() {
float values[] = {10.25f, -0.2f};
for (float f : values) {
cout << "Liczba: " << f << endl;
// rzutowanie na 32-bitową liczbę całkowitą
uint32_t bits = *reinterpret_cast<uint32_t*>(&f);
// wypisanie bitów
bitset<32> b(bits);
cout << "Binarna reprezentacja IEEE-754 (float): " << b << endl;
// podział na pola
cout << "Znak: " << b[31] << endl;
cout << "Wykladnik: " << b.to_string().substr(1, 8) << endl;
cout << "Mantysa: " << b.to_string().substr(9) << endl;
cout << endl;
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8Yml0c2V0Pgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKaW50IG1haW4oKSB7CiAgICBmbG9hdCB2YWx1ZXNbXSA9IHsxMC4yNWYsIC0wLjJmfTsKCiAgICBmb3IgKGZsb2F0IGYgOiB2YWx1ZXMpIHsKICAgICAgICBjb3V0IDw8ICJMaWN6YmE6ICIgPDwgZiA8PCBlbmRsOwoKICAgICAgICAvLyByenV0b3dhbmllIG5hIDMyLWJpdG93xIUgbGljemLEmSBjYcWCa293aXTEhQogICAgICAgIHVpbnQzMl90IGJpdHMgPSAqcmVpbnRlcnByZXRfY2FzdDx1aW50MzJfdCo+KCZmKTsKCiAgICAgICAgLy8gd3lwaXNhbmllIGJpdMOzdwogICAgICAgIGJpdHNldDwzMj4gYihiaXRzKTsKICAgICAgICBjb3V0IDw8ICJCaW5hcm5hIHJlcHJlemVudGFjamEgSUVFRS03NTQgKGZsb2F0KTogIiA8PCBiIDw8IGVuZGw7CgogICAgICAgIC8vIHBvZHppYcWCIG5hIHBvbGEKICAgICAgICBjb3V0IDw8ICJabmFrOiAgICAgICIgPDwgYlszMV0gPDwgZW5kbDsKICAgICAgICBjb3V0IDw8ICJXeWtsYWRuaWs6ICIgPDwgYi50b19zdHJpbmcoKS5zdWJzdHIoMSwgOCkgPDwgZW5kbDsKICAgICAgICBjb3V0IDw8ICJNYW50eXNhOiAgICIgPDwgYi50b19zdHJpbmcoKS5zdWJzdHIoOSkgPDwgZW5kbDsKCiAgICAgICAgY291dCA8PCBlbmRsOwogICAgfQoKICAgIHJldHVybiAwOwp9Cg==