Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > C/C++
You last visited: Today at 15:18

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



Frage zu C

Discussion on Frage zu C within the C/C++ forum part of the Coders Den category.

Reply
 
Old   #1
 
-TaZzy-'s Avatar
 
elite*gold: 33
Join Date: Jan 2008
Posts: 8,298
Received Thanks: 4,374
Frage zu C

Hallo allerseits, ich habe eine Frage.

Quote:
Wenn sich also die letzten zwei Stellen der Jahreszahl (jahr%100) durch 4 teilen lassen (!((jahr%100)%4)) UND das Jahr sich nicht durch 100 teilen lässt (jahr%100) ODER es durch 400 teilbar ist (!(jahr%400)), dann wird die Bedingung wahr.
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?

Hier der Code:
-TaZzy- is offline  
Old 08/08/2014, 16:04   #2
 
elite*gold: 1391
Join Date: Apr 2014
Posts: 77
Received Thanks: 14
Quote:
Originally Posted by -TaZzy- View Post
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.
Actidnoide is offline  
Thanks
1 User
Old 08/08/2014, 18:36   #3
 
-TaZzy-'s Avatar
 
elite*gold: 33
Join Date: Jan 2008
Posts: 8,298
Received Thanks: 4,374
Quote:
Originally Posted by Actidnoide View Post
% 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.
Tolle Erklärung, vielen Dank! Versteht man auf Anhieb.
-TaZzy- is offline  
Reply




All times are GMT +2. The time now is 15:18.


Powered by vBulletin®
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2024 elitepvpers All Rights Reserved.