Forum: Mikrocontroller und Digitale Elektronik Variablen in MPLAB/ Hi Tech C Compiler


von Johann B. (johann1234)


Lesenswert?

Hey Leute,

ich programmiere mit MPLAB V.8.50/ Hi Tech C Compiler und deklariere 
meine Variablen, aber bei der Beobachtung im Watch-Fenster nehmen sie 
falsche Werte an. Ein Beispiel:

double time=1.1;

void main(void)
{
    time= 1/time;
}

Betrachte ich nun die Variable (in dezimal) time im Watch-Fenster ergibt 
sich::

Address       Symbol Name     Value
075              time          4161536

Wie entsteht dieser Wert und warum steht dort nicht 0.09.....

Danke für eure Hilfe
Gruß Johann

von Chris B. (dekatz)


Lesenswert?

Dazu müsste das Watch-Window "Floatingpoint" darstellen können, geht 
aber nicht sondern nur Hex, Decimal, Binary und Char.
btw: MPLABX 1.60 kann's auch NICHT!

von Johann B. (johann1234)


Lesenswert?

Das heißt er rechnet mit den richtigen Werten aber kann sie nicht 
anzeigen? Kann ich die Werte auf eine andere Art beobachten??

von PIC N. (eigo) Benutzerseite


Lesenswert?

Ich denke binär anzeigen lassen und dann per Hand umrechnen oder in 
einen Umrechner rein hacken sollte gehen?! Bin mir aber nicht sicher.

von Chris B. (dekatz)


Lesenswert?

Wandle dein Float/Double in einen String um - den kannst du dir dann im 
FileRegister-Window ansehen.

von Johann B. (johann1234)


Lesenswert?

Danke Chris!! Funktioniert super!!

von D a v i d K. (oekel) Benutzerseite


Lesenswert?

Hi,
bei der Suche nach dem richtigen Headerfile für Float bin ich auf 
folgendes gestoßen. Vielleicht hilft es dem einen oder anderem noch:
http://www.htsoft.com/support/faqs.php#faq125

Grüße Oekel

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
Noch kein Account? Hier anmelden.