#include <iostream>
#include <bitset>
using namespace std;
void showFloatBits(float x) {
// Interpretujemy float jako 32-bitową liczbę
uint32_t bits = *reinterpret_cast<uint32_t*>(&x);
bitset<32> b(bits);
cout << "Wartosc: " << x << endl;
cout << "Bity: " << b << endl;
cout << "Znak: " << b[31] << endl;
cout << "Cecha: " << b.to_string().substr(1, 8) << endl;
cout << "Mantysa: " << b.to_string().substr(9) << endl;
cout << "--------------------------------------\n";
}
int main() {
float a = 10.25f;
float b = -0.2f;
showFloatBits(a);
showFloatBits(b);
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8Yml0c2V0Pgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKdm9pZCBzaG93RmxvYXRCaXRzKGZsb2F0IHgpIHsKICAgIC8vIEludGVycHJldHVqZW15IGZsb2F0IGpha28gMzItYml0b3fEhSBsaWN6YsSZCiAgICB1aW50MzJfdCBiaXRzID0gKnJlaW50ZXJwcmV0X2Nhc3Q8dWludDMyX3QqPigmeCk7CgogICAgYml0c2V0PDMyPiBiKGJpdHMpOwoKICAgIGNvdXQgPDwgIldhcnRvc2M6ICIgPDwgeCA8PCBlbmRsOwogICAgY291dCA8PCAiQml0eTogICAgIiA8PCBiIDw8IGVuZGw7CgogICAgY291dCA8PCAiWm5hazogICAgIiA8PCBiWzMxXSA8PCBlbmRsOwogICAgY291dCA8PCAiQ2VjaGE6ICAgIiA8PCBiLnRvX3N0cmluZygpLnN1YnN0cigxLCA4KSA8PCBlbmRsOwogICAgY291dCA8PCAiTWFudHlzYTogIiA8PCBiLnRvX3N0cmluZygpLnN1YnN0cig5KSA8PCBlbmRsOwogICAgY291dCA8PCAiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiI7Cn0KCmludCBtYWluKCkgewogICAgZmxvYXQgYSA9IDEwLjI1ZjsKICAgIGZsb2F0IGIgPSAtMC4yZjsKCiAgICBzaG93RmxvYXRCaXRzKGEpOwogICAgc2hvd0Zsb2F0Qml0cyhiKTsKCiAgICByZXR1cm4gMDsKfQo=