Hallo liebe Helfer, ich rechne mit Long-Variablen, da ich sehr grosse Zahlen verwende. Probleme gibt es sobald ein Wert negativ wird. Beispiel mit kleinen Werten: 9900 - 10000 sollte -100 ergeben Angezeigt wird 4294967196 Was mache ich falsch? Vielen Dank für eure Hilfe. Ditt
Du hast Dein Programm nicht gepostet. Für einen unsigned long ist der Wert korrekt, und den Print Funktionen muss man i.d.R. mitteilen ob ein Wert mit oder ohne Vorzeichen zu Behandeln ist.
Vielen Dank für die Antwort. Mein Testprogramm: Dim Test1 As Long Dim Test2 As Long Dim Test3 As Dword Test1 = 9900 Test2 = 10000 Test3 = Test1 - Test2 Locate 1 , 1 Lcd Test3 Das Problem war die Variable Test3 als Dword. Nach Änderung auch zu Long wurde der richtige Wert -100 angezeigt. Man sollte wohl bei arithmetischen Rechnung immer die gleichen Definitionen verwenden. Nochmals vielen Dank Ditt
DWord ist ein unsigned Typ. Wie soll der negative Werte aufnehmen können?
Carl D. schrieb: > Ein Compiler würde eine Warnung ausgeben. Nein, würde ein Kompiler nicht tun. Siehe Bild MfG Paul
Dieter B. schrieb: > Man sollte wohl bei arithmetischen Rechnung immer die gleichen > Definitionen verwenden. Nein, das ist nicht das Problem. Wenn als Ergebnis der Operation negative Zahlen auftreten können, muss sowohl die Funktion negative Zahlen zurückgeben können, als auch die Ergebnisvariable negative Zahlen aufnehmen können.
Paul B. schrieb: > Nein, würde ein Kompiler nicht tun. Siehe Bild Carl bezieht sich auf die eher als "einfach strukturiert" zu bezeichnende Qualität des Bascom-Compilers.
Rufus Τ. F. schrieb: > Carl bezieht sich auf die eher als "einfach strukturiert" zu > bezeichnende Qualität des Bascom-Compilers. Ach so meint ihr das, ihr Schlingel. :) Trotzdem ist mir das lieber, als mit blödsinnigen Fehlermeldungen zugeschüttet zu werden, die mit dem Fehler nicht das Geringste zu tun haben. Man kann m.E.n. von den Leuten verlangen, daß sie sehen, ob ein Ergebnis "zu dick" für den gewählten Datentyp wird und überquillt. MfG Paul
:
Bearbeitet durch User
Paul B. schrieb: > Trotzdem ist mir das lieber, als mit blödsinnigen Fehlermeldungen > zugeschüttet zu werden, die mit dem Fehler nicht das Geringste zu tun > haben. Du sprichst von C? Da ist oft nur die erste Fehlermeldung interessant. Der Rest ist meist nur das Produkt der Verzweifelungstat des Compilers, dem nachfolgenden, jetzt mehr oder weniger sinnlosen Code, doch noch irgendeine Bedeutung abzugewinnen, was dann kläglich scheitert und in seitenfüllenden Fehlerlisten mündet.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.