fork(2) download
  1. #include <iostream>
  2. #include <bitset>
  3. using namespace std;
  4.  
  5. void printFloatBits(float x) {
  6. // Interpretujemy float jako 32-bitową liczbę całkowitą
  7. uint32_t bits = *reinterpret_cast<uint32_t*>(&x);
  8.  
  9. bitset<32> b(bits);
  10.  
  11. cout << "Liczba: " << x << endl;
  12. cout << "Bity: " << b << endl;
  13.  
  14. cout << "Znak: " << b[31] << endl;
  15. cout << "Wykładnik: " << b.to_string().substr(1, 8) << endl;
  16. cout << "Mantysa: " << b.to_string().substr(9) << endl;
  17. cout << "--------------" << endl;
  18. }
  19.  
  20. int main() {
  21. printFloatBits(10.5f);
  22. printFloatBits(-0.2f);
  23. return 0;
  24. }
  25.  
Success #stdin #stdout 0.01s 5304KB
stdin
Standard input is empty
stdout
Liczba: 10.5
Bity:   01000001001010000000000000000000
Znak:       0
Wykładnik:  10000010
Mantysa:    01010000000000000000000
--------------
Liczba: -0.2
Bity:   10111110010011001100110011001101
Znak:       1
Wykładnik:  01111100
Mantysa:    10011001100110011001101
--------------