fork download
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. // funkcja sprawdzająca, czy liczba jest potęgą 2
  5. bool isPowerOfTwo(int n) {
  6. return (n > 0) && ((n & (n - 1)) == 0);
  7. }
  8.  
  9. int main() {
  10. int a = 1; // licznik
  11. int b = 16; // mianownik
  12.  
  13. // sprawdzenie, czy mianownik jest potęgą 2
  14. if (!isPowerOfTwo(b)) {
  15. cout << "Blad: mianownik nie jest potega liczby 2!\n";
  16. return 0;
  17. }
  18.  
  19. cout << "Rozwiniecie binarne 1/16 (mianownik jest potega 2): 0.";
  20.  
  21. // rozwinięcie binarne dla mianownika będącego potęgą 2
  22. while (a > 0) {
  23. a *= 2;
  24. if (a >= b) {
  25. cout << '1';
  26. a -= b;
  27. } else {
  28. cout << '0';
  29. }
  30. }
  31.  
  32. cout << endl;
  33. return 0;
  34. }
  35.  
Success #stdin #stdout 0.01s 5256KB
stdin
Standard input is empty
stdout
Rozwiniecie binarne 1/16 (mianownik jest potega 2): 0.0001