• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

roznica miedzy % i /

42 Warsaw Coding Academy
0 głosów
737 wizyt
pytanie zadane 21 października 2017 w C i C++ przez Daro235 Początkujący (360 p.)
edycja 21 października 2017 przez ScriptyChris
Jaka jest roznica miedzy % i /  ???

Moze ktos podac pare przykladow, bo nieogarniam tego.

Dziekuje za pomoc.
komentarz 21 października 2017 przez ScriptyChris Mędrzec (190,190 p.)

Edytowałem tytuł pytania - zamieniłem symbol & na %.

2 odpowiedzi

0 głosów
odpowiedź 21 października 2017 przez niezalogowany
wybrane 21 października 2017 przez Daro235
 
Najlepsza

% to dzielenie modulo (reszta)

/ to dzielenie "zwykłe", takie które znasz ;)

Przykłady:

5 / 2 = 2.5
5 % 2 = 1, bo 2*2 + 1 = 5

4 / 2 = 2
4 % 2 = 0, bo 2*2 + 0 = 4

 

komentarz 21 października 2017 przez niezalogowany

Czy metoda z tablica nie jest lepsza?

Ciekawe pytanie, bo zależy co rozumiesz przez lepsza? Wszystko zależy od tego jaki przypadek rozpatrujemy.

Jeżeli myślimy o sytuacji gdy liczba może być dowolnie duża, a użytkownik może wybrać tylko 1 cyfrę do sprawdzenia to pomysł z shiftami wydaje się fajniejszy, bo zajmuje i zużywa dużo mniej pamięci. Podobnie sytuacja wygląda gdy zależy nam na cyfrach w sensie obliczeniowym, a nie np wyświetlaniu jej dla użytkownika gdzie ta różnica (czy mamy do czynienia ze stringiem czy z liczbą) zanika.

Jednakże gdy zależy nam jedynie na "graficznej" reprezentacji liczby, a użytkownik może się często odwoływać do konkretnych cyfr często to dopiero teraz warto jest rozpatrzyć postać tablicową.

Załóżmy, że

  • MAX_DIGITS(type) - maksymalna ilość cyfr jaką może posiadać liczba w rozpatrywanym typie danych w systemie dziesiętnym

Zauważmy, że:

  • dla wersji tablicowej w najgorszym przypadku potrzebujemy MAX_DIGITS(type) * sizeof(type) bajtów pamięci na przechowanie liczby
  • podczas gdy dla sposobu z shiftami ta wartość jest stała (sizeof(type)) dla każdej liczby możliwej do zapisania w danym typie danych ;)

zrozumialem, dzieki za wzsytkie komentarze :)

@Daro jeżeli odpowiedź rozwiązuje twój problem to oznacz ją jako najlepszą ;)

komentarz 21 października 2017 przez Daro235 Początkujący (360 p.)
ja tu nowy, juz wybralem :)
komentarz 21 października 2017 przez DragonCoder Nałogowiec (36,500 p.)
@shead, a zakladajac, ze pracujemy zarowno na malych i duzych liczbach i zalezy nam na przedstawieniu ich graficznie  i w sensie obliczeniowym, co wtedy? Mieszamy oba te czyniki i ktora metoda bylaby tu lepsza?
komentarz 21 października 2017 przez niezalogowany
shifty
komentarz 21 października 2017 przez DragonCoder Nałogowiec (36,500 p.)
Ok, dziekuje bardzo :)
0 głosów
odpowiedź 21 października 2017 przez xenonso Mądrala (5,160 p.)
/ - dzielenie zwykłe
% - dzielenie modulo, czyli reszta z dzielenia

Przykład:
5/2=2.5
5%2=1 (reszta wynosi 1)

Podobne pytania

–1 głos
3 odpowiedzi 1,835 wizyt
0 głosów
1 odpowiedź 724 wizyt
pytanie zadane 21 sierpnia 2017 w C i C++ przez Jakub 0 Pasjonat (23,120 p.)
0 głosów
1 odpowiedź 427 wizyt
pytanie zadane 29 listopada 2018 w C i C++ przez ciocialol Nowicjusz (180 p.)

93,395 zapytań

142,389 odpowiedzi

322,569 komentarzy

62,754 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

VMware Cloud PRO - przenieś swoją infrastrukturę IT do chmury
...