#include <iostream>
#include <bitset>
#include <iomanip>
using namespace std;
int main()
{
float x = 10.25f;
unsigned int bits = *(unsigned int*)&x;
bitset<32> b(bits);
int znak = (bits >> 31) & 1;
int wykladnik = (bits >> 23) & 0xFF;
unsigned int mantysa = bits & 0x7FFFFF;
bitset<8> bExp(wykladnik);
bitset<23> bMan(mantysa);
cout << "Liczba: 10.25" << endl;
cout << "Postac binarna (32 bity): " << b << endl;
cout << "Znak: " << znak << endl;
cout << "Wykladnik (bin): " << bExp << " (dec): " << wykladnik << endl;
cout << "Mantysa (bin): " << bMan << " (dec): " << mantysa << endl;
cout << "HEX: 0x" << hex << uppercase << bits << dec << endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8Yml0c2V0PgojaW5jbHVkZSA8aW9tYW5pcD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmludCBtYWluKCkKewogICAgZmxvYXQgeCA9IDEwLjI1ZjsKCiAgICB1bnNpZ25lZCBpbnQgYml0cyA9ICoodW5zaWduZWQgaW50KikmeDsKICAgIGJpdHNldDwzMj4gYihiaXRzKTsKCiAgICBpbnQgem5hayA9IChiaXRzID4+IDMxKSAmIDE7CiAgICBpbnQgd3lrbGFkbmlrID0gKGJpdHMgPj4gMjMpICYgMHhGRjsKICAgIHVuc2lnbmVkIGludCBtYW50eXNhID0gYml0cyAmIDB4N0ZGRkZGOwoKICAgIGJpdHNldDw4PiBiRXhwKHd5a2xhZG5payk7CiAgICBiaXRzZXQ8MjM+IGJNYW4obWFudHlzYSk7CgogICAgY291dCA8PCAiTGljemJhOiAxMC4yNSIgPDwgZW5kbDsKICAgIGNvdXQgPDwgIlBvc3RhYyBiaW5hcm5hICgzMiBiaXR5KTogIiA8PCBiIDw8IGVuZGw7CiAgICBjb3V0IDw8ICJabmFrOiAiIDw8IHpuYWsgPDwgZW5kbDsKICAgIGNvdXQgPDwgIld5a2xhZG5payAoYmluKTogIiA8PCBiRXhwIDw8ICIgKGRlYyk6ICIgPDwgd3lrbGFkbmlrIDw8IGVuZGw7CiAgICBjb3V0IDw8ICJNYW50eXNhIChiaW4pOiAiIDw8IGJNYW4gPDwgIiAoZGVjKTogIiA8PCBtYW50eXNhIDw8IGVuZGw7CiAgICBjb3V0IDw8ICJIRVg6IDB4IiA8PCBoZXggPDwgdXBwZXJjYXNlIDw8IGJpdHMgPDwgZGVjIDw8IGVuZGw7CgogICAgcmV0dXJuIDA7Cn0K