<åt sidan class = "s-notice s-notice__info js-post-notice mb16" role = "status">
Stängd. Denna fråga är utanför ämnet . För närvarande accepteras inte svar.
Kommentarer
- Frågor om C ++ i synnerhet är offtopic här, och den allmänna frågan är en ren matematisk fråga. Vill du att jag migrerar detta till Stackoverflow eller Matematik ?
Svar
Om $ a, b $ är båda positiva heltal, kan vi alltid skriva $ a = kb + \ ell $ där $ 0 \ leq \ ell < b $. Vi kallar $ \ ell $ resten och $ k $ kvoten . I ditt första exempel, $ 5 = 2 \ cdot 2 + 1 $ så 5 % 2 == 1
. I ditt andra exempel, $ 2 = 0 \ cdot 9 + 2 $, så 2 % 9 == 2
. Mer allmänt, om $ a < b $ då a % b == a
.
Det finns också en regel för signerade heltal, men tyvärr kan jag inte komma ihåg det. Dessutom kommer 0 % x == 0
när $ x \ neq 0 $ och x % 0
orsakar ett undantag (” division med noll ”).
Kommentarer
- Med signerade heltal blir det rörigt och olika programmeringsspråk använder en annan operator.
Svar
Svaret är 9. 2/9 är 0r9. Moduloperatören returnerar återstoden av heltal, eftersom 9 går till 2 gånger gånger operatören returnerar 9.