Gå til innhold

Anbefalte innlegg

Kom over noe som heter modulo. Altså log.console(17 % 3); blir da 2. Jeg klarer å løse alle oppgavene der det står at jeg skal bruke modulo, men lurer egentlig veldig på hva modulo faktisk er? Skjønner ikke helt hva jeg regner ut. Hadde satt pris på om noen kunne forklart meg her.

 

Edit:

J0EV7.jpg

Slenger med et bilde her. Dere kan se at linje 3 = 2, linje 4 = 3 og linje 5 = 2. Har ingen anelse om hvorfor det blir akkurat det.. :eek:

Endret av Lindie
Lenke til kommentar
Videoannonse
Annonse

Det er "rest", som det heter i matematikken. I praksis er det heltallsdivisjon. 17 / 3 i heltall er det samme som 15 / 3 (altså 3), pluss at du har to til overs, altså "resten", som modulo gir deg.

Det jeg ikke forstår er at 14 % 3 = 2. Om jeg tar 14 / 3 så går jo tallet 3, 3 ganger opp og blir 9. Da har jeg vel 0 i rest? Ikke 2?
Lenke til kommentar

Det jeg ikke forstår er at 14 % 3 = 2. Om jeg tar 14 / 3 så går jo tallet 3, 3 ganger opp og blir 9. Da har jeg vel 0 i rest? Ikke 2?

 

Tenk på det som at du skal plusse tallet etter % med seg selv frem til du ikke kan plusse en gang til uten at tallet blir høyere enn tallet før prosent-tegnet. Eller at du følger gangetabellen for tallet.

 

3, 6, 9, 12, 15 ... På 15 har vi kommet for langt i 3-gangen siden vi ble bedt om 14. Dermed går vi ett steg tilbake, som blir 12. 14-12=2. Altså blir det 2 i rest.

Lenke til kommentar

Tenk på det som at du skal plusse tallet etter % med seg selv frem til du ikke kan plusse en gang til uten at tallet blir høyere enn tallet før prosent-tegnet. Eller at du følger gangetabellen for tallet.

 

3, 6, 9, 12, 15 ... På 15 har vi kommet for langt i 3-gangen siden vi ble bedt om 14. Dermed går vi ett steg tilbake, som blir 12. 14-12=2. Altså blir det 2 i rest.

Takk for et godt svar! Nå gir alt mening her!
Lenke til kommentar

Det jeg ikke forstår er at 14 % 3 = 2. Om jeg tar 14 / 3 så går jo tallet 3, 3 ganger opp og blir 9. Da har jeg vel 0 i rest? Ikke 2?

 

Her regner du feil:

 

14 % 3 regnes på denne måten:

 

14 / 3 = 4 (ikke 3)

3 * 4 = 12

14 - 12 = 2 ---> 14 % 3 = 2

 

En enkel kode for å regne ut modulo, gitt a % b:

int modulo(int a, int b)
{
   int x = a / b;
   int y = x * b;
   return a - y;
}

  • Liker 1
Lenke til kommentar

Her regner du feil:

 

14 % 3 regnes på denne måten:

 

14 / 3 = 4 (ikke 3)

3 * 4 = 12

14 - 12 = 2 ---> 14 % 3 = 2

 

En enkel kode for å regne ut modulo, gitt a % b:

int modulo(int a, int b)
{
int x = a / b;
int y = x * b;
return a - y;
}

Er ikke dette en enklere kode: console.log(a % b); ?
Lenke til kommentar

Er ikke dette en enklere kode: console.log(a % b); ?

selvfølgelig. Jeg prøvde bare å vise hva den koden gjør, litt mer steg for steg. (altså ment for at du skal forstå det bedre). Jeg ville aldri brukt den koden jeg skrev i praksis, da den gjør akkurat det samme som den koden du skrev.
  • Liker 1
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...