PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Ganzzahliges dividieren/Gerade Zahlen



sebastian.heyn
17.12.2004, 13:07
HI,

es gibt ja in vielen programmiersprachen mod/div befehle. Gibts die in bascom auch? kann ich irgendwie vergleichen ob ne zahl gerade/ungerade ist?

PicNick
17.12.2004, 13:17
Hi, weiß nicht. schlimmstenfalls fragst du das Nuller-Bit ab mfg robert

Trabukh
17.12.2004, 15:30
Ich weiß nicht, inwiefern man Zahlen in Zeichenfolgen umwandeln kann, aber wenn es so ist, dann könntest du ja durch 2 teilen und in der umgewandelten Zeichenfolge nach dem Komma suchen. Falls vorhanden, ist die Zahl ungerade...

Gruß, Trabukh

PicNick
17.12.2004, 15:55
N ja, bei Float (single) Zahlen ist es mit gerade/ungerade natürlich nicht so einfach, da müßtest du anhand des Exponenten das richtige "Nuller Bit" erst suchen, (oder mit FRACT() die Mantisse rausfischen lassen)
mfg robert

Arne
17.12.2004, 17:17
k*2-1 ergibt einen Generator für ungerade Zahlen,
setzt du für k eine Schleife for k 1 to 1000 oder ähnliches, kannst du diese Zahlen miteinander vergleichen, ist das Ergebnis wahr -> ungerade Zahl.
Problem bei dieser Lösung ist enorme Rechenleistung und nur ein kl. Bereich wird abgedeckt.
Vielleicht hilft es dir ja.

oe9vfj
17.12.2004, 18:13
BASCOM kennt den Befehl MOD.

Mit Var2 = Var1 MOD 2
bekommst Du in Var2 den Wert 1 für Ungerade und 0 für Geraden Inhalt von Var1

Viele Grüße
Josef

sebastian.heyn
20.12.2004, 08:20
DANKE! das hilft mir wirklich weiter!