fork(1) download
  1. #include <iostream>
  2. #include <bitset>
  3. #include <iomanip>
  4. using namespace std;
  5.  
  6. int main()
  7. {
  8. float x = 10.25f;
  9.  
  10. unsigned int bits = *(unsigned int*)&x;
  11. bitset<32> b(bits);
  12.  
  13. int znak = (bits >> 31) & 1;
  14. int wykladnik = (bits >> 23) & 0xFF;
  15. unsigned int mantysa = bits & 0x7FFFFF;
  16.  
  17. bitset<8> bExp(wykladnik);
  18. bitset<23> bMan(mantysa);
  19.  
  20. cout << "Liczba: 10.25" << endl;
  21. cout << "Postac binarna (32 bity): " << b << endl;
  22. cout << "Znak: " << znak << endl;
  23. cout << "Wykladnik (bin): " << bExp << " (dec): " << wykladnik << endl;
  24. cout << "Mantysa (bin): " << bMan << " (dec): " << mantysa << endl;
  25. cout << "HEX: 0x" << hex << uppercase << bits << dec << endl;
  26.  
  27. return 0;
  28. }
  29.  
Success #stdin #stdout 0.01s 5288KB
stdin
Standard input is empty
stdout
Liczba: 10.25
Postac binarna (32 bity): 01000001001001000000000000000000
Znak: 0
Wykladnik (bin): 10000010 (dec): 130
Mantysa (bin): 01001000000000000000000 (dec): 2359296
HEX: 0x41240000