Math in Java – Wat doet “%”? [DUPLICEER]

Ik begrijp dat de code Miliseconden wordt geconverteerd naar seconden, mins en uren, maar ik begrijp niet wat de “%” doet …
int seconden = (int) (milliseconden / 1000) % 60 ;

Kan iemand uitleggen alstublieft?

Kan ik dezelfde actie doen in C++?
bedankt !!

            milliseconds = ((System.currentTimeMillis()) - (startTime));
            int seconds = (int) (milliseconds / 1000) % 60 ;
            int minutes = (int) ((milliseconds / (1000*60)) % 60);
            int hours   = (int) ((milliseconds / (1000*60*60)) % 24);

Antwoord 1, Autoriteit 100%

%is de modulusoperator. Voor java modulus :

"%  Modulus - Divides left hand operand by right hand operand and returns remainder"

Bijvoorbeeld: 10% 3 is gelijk aan 1. Om dit visueel te zien –

10 % 3
10 - 3 = 7    // Start by subtracting the right hand side of the % operator
7 - 3 = 4     // Continue subtraction on remainders
4 - 3 = 1
Now you can't subtract 3 from 4 without going negative so you stop.
You have 1 leftover as a remainder so that is your answer.

U kunt eraan bedenken als “hoeveel zou ik moeten aftrekken tot de waarde aan de linkerkant om het gelijkmatig deel te maken door de rechterwaarde?”


en ja, eigenlijk is het hetzelfde symbool in C++voor modulus.


“In rekenkunde is de rest het gehele getal” overgebleven “na het delen van een geheel getal door een ander om een ​​geheel getal quotiënt te produceren (integer-divisie).”

“Bij computergebruik vindt de modulo-bewerking (soms modulus genoemd) de rest van de deling van het ene getal door het andere.”

Other episodes