Programmieren - alles kontrollieren 4.937 Themen, 20.662 Beiträge

Variablenbereich zu klein?

JonasSchwartze / 3 Antworten / Flachansicht Nickles

Hallo Leute!


Ich programmiere im Delphi und hab ne Extended Variable deklariert. Jetzt gibt die aber bei Berechnungen wie 99^9 den Geist auf. Das heißt sie gibt sinnlose, negative Werte aus.
Ist vielleicht der Variablenbereich zu klein oder stimmt was mit meiner Rechnung nicht.


Ich hoffe mir kann jemand helfen.


Danke im Vorraus.


Jonas

bei Antwort benachrichtigen
Andreas42 JonasSchwartze „Naja ich hab auch gedacht das Extended das kann. Wenn ich allerdings meinen Wert...“
Optionen

Hi!

"Wenn du nichts dagegen hast schick ich die mal die Rechnung."

Doch, da hab' ich was gegen. Versteh' mich nicht falsch, es gibt durchaus Leute für die ich die Rechnung bezahle, aber nicht einfach so... ;-)

Stell die Berechnung bzw. den Quelltext einfach als Antwort ein. Das kann dann ich sehen und alle anderen auch - da werden wir dann schon eine Lösung finden.

Es wird warscheinlich an den Integer-VARs leigen. Falls Delphi sich dort wie Turbo-Pascal verhält, werden die Berechnungen dann mit Integern durchgeführt, wenn nur Integer vorhanden sind. Der Typcast nach Extended erfolgt dann erst bei der Zuweisung.

Wenn nun im Compiler kein Überlaufcheck aktiviert ist, dann entstehen beim Intergerüberlauf in der Tat negative Werte.

Evtl. Hilft es schon, wenn du eine der in der Berechnung beteiligten Variablen als Extended deklarierst (oder eine Extended-Hilfsvariable nutzt, in die vor der Berechnung mit dem Wert einer Integer-Variablen gefüllt wird).

Bis denn
Andreas

Hier steht was ueber mein altes Hard- und Softwaregedoens.
bei Antwort benachrichtigen