fork download
  1. #include <iostream>
  2. #include <bitset>
  3. using namespace std;
  4.  
  5. int main() {
  6. float values[] = {10.25f, -0.2f};
  7.  
  8. for (float f : values) {
  9. cout << "Liczba: " << f << endl;
  10.  
  11. // rzutowanie na 32-bitową liczbę całkowitą
  12. uint32_t bits = *reinterpret_cast<uint32_t*>(&f);
  13.  
  14. // wypisanie bitów
  15. bitset<32> b(bits);
  16. cout << "Binarna reprezentacja IEEE-754 (float): " << b << endl;
  17.  
  18. // podział na pola
  19. cout << "Znak: " << b[31] << endl;
  20. cout << "Wykladnik: " << b.to_string().substr(1, 8) << endl;
  21. cout << "Mantysa: " << b.to_string().substr(9) << endl;
  22.  
  23. cout << endl;
  24. }
  25.  
  26. return 0;
  27. }
  28.  
Success #stdin #stdout 0.01s 5288KB
stdin
Standard input is empty
stdout
Liczba: 10.25
Binarna reprezentacja IEEE-754 (float): 01000001001001000000000000000000
Znak:      0
Wykladnik: 10000010
Mantysa:   01001000000000000000000

Liczba: -0.2
Binarna reprezentacja IEEE-754 (float): 10111110010011001100110011001101
Znak:      1
Wykladnik: 01111100
Mantysa:   10011001100110011001101