Advertisement
Guest User

Untitled

a guest
Jan 24th, 2020
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.40 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <math.h>
  3. int main(void) {
  4. int a[8], n, i,x,z,suma=0,m=0; //a[8] - tablica, do ktorej bedziesz dodawał liczby binarne po zamianie, n-liczba ktora podajesz, i-zmienna tablicowa,
  5. //x-zczytuje liczbę z tablicy,z-podnosi liczbę do potęgi(zawsze podnosi 2 do potęgi (j-iteracja petli)),suma-sumuje liczby po zamianie na dziesietny
  6. //m-licznik(ma policzyc na ilu bitach jest zapisana liczba binarna, żeby później zamienić z powrotem na dziesietna)
  7. printf("Wpisz liczbę, którą chcesz zamienić: ");
  8. scanf_s("%d", &n);
  9.  
  10. for (i = 0; n > 0; i++) {
  11. m=m+1; //liczy na ilu bitach jest zapisana liczba(ilosc wykonanych peli)
  12. a[i] = n % 2; //dodaje liczbę 0 lub 1 do tablicy (to nie zmienia liczby n, zmiana jest w nastepnej linijce)
  13. n = n / 2; //dzieli liczbę na 2
  14. }
  15. printf("\nBinarnie to: ");
  16. for (i = i - 1; i >= 0; i--) //petla odczytujaca OD KOŃCA tablice a[]
  17. {
  18. printf("%d", a[i]);
  19. }
  20. for (int j = 0; j < m; j++) { //zamiana z powrotem na liczbę dziesiętną
  21. x = a[j]; //zczytuje X z tablicy
  22. if (x == 1) { //jestli x=1 to podnosi do potęgi(tak sie zamienia binarne na dziesiętne), jesli x=0 to nic nie robi
  23. z = pow(2,j);
  24. suma += z; //dodaje do zmiennej suma tą liczbę, którą otrzymalismy po podniesieniu do potęgi
  25. }
  26. }
  27. printf("Suma\n%d", suma); //drukuje wynik
  28. return 0;
  29. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement