Arduino Forum

International => Deutsch => Topic started by: ChrisS on Feb 01, 2011, 01:45 pm

Title: Überprüfen ob Zahl ganzzahlig teilbar ist?
Post by: ChrisS on Feb 01, 2011, 01:45 pm

Hallo, ich habe Werte von 0-x. Also 0,1,2,3,4,.....

Ich möchte auf diese Wertreihe 3 verschiedene Events mappen.

Das würde bedeuten das eine Funktion zum beispiel bei 3,6,9 etc. ausgeführt wird,
eine andere bei 2,4,6 usw.

Meine Idee war nun den Wert einfach zu teilen, wenn etwas Ganzzahliges herauskommt, kann ich den Rückschluß ziehen, und die entsprechende Funktion starten.

Aber wie überprüfe ich auf ein ganzzahliges Errgebnis? Stehe da gerade etwas auf dem Schlauch.

Alternativvorschlag wäre auch willkommen.

Lieber Gruß
Chris

Title: Re: Überprüfen ob Zahl ganzzahlig teilbar ist?
Post by: Joghurt on Feb 01, 2011, 02:04 pm
Würde was in der Gegend versuchen:
Code: [Select]
int x;
[...]
if (x/3.0 == x/3) {

Title: Re: Überprüfen ob Zahl ganzzahlig teilbar ist?
Post by: Saasemer on Feb 01, 2011, 02:10 pm
es müsste auch mit dem Befehl Modulo (%) gehen

Beispiel aus: Examples -> Button State Change Detection

// turns on the LED every four button pushes by
  // checking the modulo of the button push counter.
  // the modulo function gives you the remainder of
  // the division of two numbers:
  if (buttonPushCounter % 4 == 0) {
    digitalWrite(ledPin, HIGH);
  } else {
   digitalWrite(ledPin, LOW);
  }


Gruß
Harald
Title: Re: Überprüfen ob Zahl ganzzahlig teilbar ist?
Post by: Joghurt on Feb 01, 2011, 02:16 pm
Hast Recht, ist einfacher!  :smiley-red:

Code: [Select]
if (buttonPushCounter % 4) {
 // buttonPushCounter/4 != 0
} else {
 // buttonPushCounter/4 == 0
}
Title: Re: Überprüfen ob Zahl ganzzahlig teilbar ist?
Post by: ChrisS on Feb 01, 2011, 02:26 pm
Ui, das geht hier fix....

OOOhhh, das sieht gut aus... ich finde sowas gehört auch in die Referenz... egal....

ARG!!! Ich nehme alles zurück!!!!! Ist ja in der Referenz!!!
;)


...ich probiers gleich mal aus....

Danke!!!!

Lieber Gruß
Chris

PS: Würde denken, das ein Modulo von 2 auch bei 4 oder 6 feuert,
ein Modulo von 3 aber auch bei 6. Das würde sich dann doppeln...

mmh.... ausprobieren....
Title: Re: Überprüfen ob Zahl ganzzahlig teilbar ist?
Post by: MaFu on Feb 01, 2011, 03:10 pm
In Deiner ursprünglichen Frage ging es aber nur um die Unterscheidung zwischen geraden und ungeraden Zahlen. Und da reicht % 2.
Title: Re: Überprüfen ob Zahl ganzzahlig teilbar ist?
Post by: ChrisS on Feb 02, 2011, 04:19 pm
Danke, ich bin schon etwas weiter, und es funktioniert suuuuper! :)

Lieber Gruß
ChrisS