PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : ist zahl gerade oder ungerade



martin66119
22.10.2007, 21:17
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

radbruch
22.10.2007, 21:26
Hallo

Wenn Bit0 gesetzt ist, ist der Wert ungerade. In C würde man auf "if (wert & 1)" prüfen.

Gruß

mic

uwegw
22.10.2007, 21:27
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 %).

radbruch
22.10.2007, 21:32
Ups, gibt es neben integer noch andere Zahlen?

If ((wert/2*2) == wert) könnte auch funktionieren.

Netbird
23.10.2007, 08:12
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

martin66119
23.10.2007, 19:38
Vielen Dank für die Hilfe.

Bin leider jett erst zum lesen gekommen.

Gruß
Martin

for_ro
23.10.2007, 20:24
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