-
-
Erfahrener Benutzer
Fleißiges Mitglied
ist zahl gerade oder ungerade
Einen schönen guten abend!
Gibt es in Bascom einen Befehl mit dem man feststellen kann ob eine zahl gerade oder ungerade ist oder wie kann man das am besten machen.
Danke für die Hilfe
Martin
-
Moderator
Robotik Visionär
Hallo
Wenn Bit0 gesetzt ist, ist der Wert ungerade. In C würde man auf "if (wert & 1)" prüfen.
Gruß
mic
Bild hier
Atmel’s products are not intended, authorized, or warranted for use
as components in applications intended to support or sustain life!
-
Erfahrener Benutzer
Robotik Einstein
Du teilst durch 2 und schaust obs nen Rest gibt. Also der Modulo-Befehl (heißt der in Bascom "mod"? In C wäre es %).
-
Moderator
Robotik Visionär
Ups, gibt es neben integer noch andere Zahlen?
If ((wert/2*2) == wert) könnte auch funktionieren.
Bild hier
Atmel’s products are not intended, authorized, or warranted for use
as components in applications intended to support or sustain life!
-
Erfahrener Benutzer
Fleißiges Mitglied
Ergänzung zu den Vorbeiträgen:
In Bascom gibt es die mod- Operation und die ganzzahlige Division mit \ (in manchen Sprachen DIV genannt):
a) Prüfen, ob Rest bei der Division von x durch 2 0 ergibt, dann ist x gerade:
rest=x mod 2
IF rest = 0 THEN ...
b) Prüfen, ob die ganzzahlige Division gleich der normalen Division ist:
IF x\2 = x/2 THEN ..
oder wie oben: IF (x\2)*2 = x THEN ...
MfG
-
Erfahrener Benutzer
Fleißiges Mitglied
Vielen Dank für die Hilfe.
Bin leider jett erst zum lesen gekommen.
Gruß
Martin
-
Erfahrener Benutzer
Roboter Genie
Soweit ich weiß, ist x/2 immer gleich x\2. Den Unterschied macht Bascom gar nicht.
Zum Abprüfen benutze ich immer x.0=0 dann gerade, sonst ungerade.
Funktioniert für alle ganzen Zahlen, auch für negative.
Für andere Zahlen eh nicht definiert.
Gruß
Rolf
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen