Quote:
Originally Posted by -TaZzy-
Den Teil verstehe ich nicht ganz. % steht doch für Division mit Rest, richtig (zumindest hier)? Warum steht dort "zwei Stellen der Jahreszahl (jahr%100)"? Ist das nicht schon eine Division? Und wie genau funktioniert "(!((jahr%100)%4))"? Ist das nicht eine doppelte Division (durch 100 und durch 4)? Macht diese dann nicht die zweite Division (jahr%100) überflüssig?
|
% ist in den meisten Sprachen mit C Syntax der Modulo Operator. Dieser fuehrt eine Division durch und gibt den Rest zurueck (1956%100 = 56). Und das sind die beiden letzten Stellen des Jahres.
zahl%4 ergibt null, wenn kein Rest entsteht, was bedeutet, dass die Zahl durch 4 teilbar ist.
Dann ist da noch der Not Operator
!, der den Zustand umdreht (vorher null : false danach true).
!((jahr%100)%4) ist also wahr, wenn die letzten beiden Ziffern des Jahres durch 4 teilbar sind.