Advertisement
Guest User

Untitled

a guest
Nov 16th, 2017
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. @echo off
  2.  
  3. rem %decimal% to zmienna przechowywująca wprowadzoną liczbę dziesiętną.
  4. rem tutaj jest to argument %1, ale można to oczywiście zmienić.
  5. rem Byle w %decimal% wylądowała liczba dziesiętna.
  6. set decimal=%1
  7. rem %binary% to zmienna która będzie przechowywać wynikową liczbę binarną
  8. set binary=
  9.  
  10. rem "main" to będzie główna pętla skryptu. To tutaj będzie obliczna liczba binarna
  11. :main
  12. rem jeśli %decimal% równa się zero, to znaczy że obliczenia są zakończone i można wyjść z pętli.
  13. if %decimal% equ 0 goto end
  14. rem ta linijka oblicza resztę z dzielenia %decimal% przez 2
  15. rem operator "%%" jest specjalny bo zwraca resztę z dzielenia.
  16. set /a rest=decimal %% 2
  17.  
  18. rem teraz %decimal% jest dzielony przez dwa, ale części dziesiętne są wyrzucane.
  19. rem więc 4/2=2 ale 3/2=1
  20. set /a decimal=decimal/2
  21.  
  22. rem w %binary% przechowywana jest liczna binarna (dwójkowa)
  23. rem w %rest% przechowywana jest reszta z dzielenia %decimal% przez 2.
  24. rem teraz na początek %binary% zostaje dodana ostatnia reszta z dzielenia (1 lub 0)
  25. rem ta linijka dosłownie oznacza: połącz napis ze zmiennej %rest% z napisem %binary%
  26. rem batch automatycznie konwertuje liczby do napisów
  27. set binary=%rest%%binary%
  28.  
  29. rem powrót do "main" by kontynuować obliczenia
  30. goto main
  31.  
  32.  
  33. :end
  34. rem wypisanie wyniku i wyczyszczenie użytych zmiennych
  35. echo %binary%
  36. set binary=
  37. set decimal=
  38. set rest=
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement