Für dieses Forum muß Javascript im Browser aktiviert werden!
Kommentar: Einfügen von HTML im Kommentar: Link einfügen: <a href="LINKURL" target="_blank">LINKTITEL</a> Bild einfügen: <img src="BILDURL"> Text formatieren: <b>fetter Text</b> <i>kursiver Text</i> <u>unterstrichener Text</u> Kombinationen sind auch möglich z.B.: <b><i>fetter & kursiver Text</i></b> C2 Quellcode formatieren: <code>Quellcode</code> ASM Quellcode formatieren: <asm>Quellcode</asm> (Innerhalb eines Quellcodeabschnitts ist kein html möglich.) Wichtig: Bitte mache Zeilenumbrüche, bevor Du am rechten Rand des Eingabefeldes ankommst ! > Hallo Jörg, > > was meinst Du mit "naja, läuft ja jetzt!" > > Hast Du den Variablentyp geändert oder eine andere Lösung gefunden? > > Gruß Hansi > > > Das kann's nicht sein. 9 * 100.000, 4 * 1.000.000 ... klappt ja! > > Wird wohl schon irgendwo ein Bug sein. Naja, läuft ja jetzt. > > > > Thanx für deine Zeit Hansi > > > > > > > > > > Hallo Jörg, > > > > > > ja ist schon komisch, aber Du hast geschrieben bei Werten bis 3 funktioniert es, dann nicht mehr. > > > Eine Integer-Variable kann 3*10.000 noch aufnehmen, bei 4*10.000 brauchst Du halt den Typ Long. > > > > > > Bye Hansi ...einfach ausprobieren > > > > > > > Hi Hansi. > > > > > > > > Hat natürlich was der Ansatz mit Byte und Long Variablen. > > > > Ist bestimmt sicherer erst mit: tempvar = (getchar(faktor, 8) - 48); > > > > > > > > (ev. besser noch: > > > > tempbyte = (getchar(faktor, 8) - 48); > > > > tempvar = tempbyte; und weiterrechnen) > > > > > > > > die Typ-Konvertierung durchzuführen und dann zu rechnen. > > > > > > > > Unlogisch ist dabei eigentlich nur der Effekt, dass es 7x klappt und 1x nur bei Byte-Wert 48 - 51. > > > > > > > > Jörg > > > > > > > > > > > > > > > > > > > > > > Hallo Jörg, > > > > > > > > > > die Funktion getchart() liefert Dir Integer / Byte zurück und Deine Berechnungen nutzen > > > > > den Typ long. > > > > > > > > > > Übergebe vor Deinen Berechnungen den Wert von getchar() an eine long-Variable und > > > > > rechne damit weiter oder laß von getchar() ein Typ long zurück geben, dann sollte es > > > > > klappen. > > > > > > > > > > Gruß Hansi > > > > > > > > > > > > > > > > Effekte, welche 5h Fehlersuche zur Folge haben: > > > > > > > > > > > > -------------------------------------------------------------------------- > > > > > > > > > > > > function getchar(byte s[], int position) returns byte > > > > > > { > > > > > > return s[position]; > > > > > > } > > > > > > > > > > > > function para3(long kafaktor) returns long > > > > > > { > > > > > > string faktor; > > > > > > long tempvar; > > > > > > > > > > > > faktor = "K-Fa:00000000"; > > > > > > > > > > > > // ... Benutzereingabe des K-Faktors > > > > > > > > > > > > kafaktor = 10000000 * (getchar(faktor, 5) - 48); > > > > > > tempvar = 1000000 * (getchar(faktor, 6) - 48); > > > > > > kafaktor = kafaktor + tempvar; > > > > > > tempvar = 100000 * (getchar(faktor, 7) - 48); > > > > > > kafaktor = kafaktor + tempvar; > > > > > > > > > > > > tempvar = (getchar(faktor, 8) - 48); > > > > > > tempvar = tempvar * 10000; > > > > > > // funktioniert immer > > > > > > > > > > > > // tempvar = 10000 * (getchar(faktor, 8) - 48); > > > > > > // funktioniert nicht, wenn (getchar(faktor, 8) - 48) einen Wert > 3 liefert > > > > > > // --- ??? --- > > > > > > > > > > > > kafaktor = kafaktor + tempvar; > > > > > > tempvar = 1000 * (getchar(faktor,9) - 48); > > > > > > kafaktor = kafaktor + tempvar; > > > > > > tempvar = 100 * (getchar(faktor,10) - 48); > > > > > > kafaktor = kafaktor + tempvar; > > > > > > tempvar = 10 * (getchar(faktor,11) - 48); > > > > > > kafaktor = kafaktor + tempvar; > > > > > > tempvar = (getchar(faktor,12) - 48); > > > > > > kafaktor = kafaktor + tempvar; > > > > > > > > > > > > return kafaktor; > > > > > > } > > > > > > > > > > > > ------------------------------------------------------------- > > > > > > > > > > > > Jemand 'ne logische Erklärung dafür? > > > > > > > > > > > > Ein fast wahnsinnig gewordener > > > > > > Jörg