Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - FAQ - Zum CC1-Forum - Zum CC-Pro-Forum

Re: Long Variable Kategorie: Programmierung (von krassos - 3.08.2005 12:49)
Als Antwort auf Long Variable von Alex - 3.08.2005 9:47
Ich nutze:
C-Control II Unit, CC2-ReglerBoard, OSOPT V3.0
> Hallo
>
> ich habe folgendes Problem:
> Ich will in einer long Variablen die verstrichenen Sekunden des laufendende Tages ablegen, bekomme
> dabei aber keine sinnvollen Werte.
>
> Mein Quelltext sieht folgendermaÃ?en aus:
>
>
>    long jetzt_Zeit;
>    int hour,minute,second;
>
>    hour = system.hour();
>    minute = system.minute();
>    second = system.second();
>    jetzt_Zeit = hour*3600 + minute* 60 + second;
>

>
> Als ergebnis bekomme ich Werte wie: -30777
>
> Was mache ich falsch?
>
> Vielen Dank im vorraus
>
> Alexander
>

Hallo Alexander,

falsch ist relativ. Du machst nichts falsch.
Die Berechnung wird komplett im Integer-Bereich durchgeführt. Den Compiler interessiert nicht,
ob Du das Ergebnis gerne als Long möchtest.
Um den Compiler zu überreden, diese Operation im Long-Bereich durchzuführen,
muÃ? ein Operand bereits Long sein.
Hilfreich wäre hier z.B. eine Hilfsvariable vom Typ long, die Du addierst.


    long jetzt_Zeit,helper;
    int hour,minute,second;
    helper=0;
 
    hour = system.hour();
    minute = system.minute();
    second = system.second();
    jetzt_Zeit = hour*3600 + minute* 60 + second+helper;
 


GruÃ? krassos


    Antwort schreiben


Antworten:

Re: Long Variable (von Alex - 3.08.2005 14:09)
    Re: Long Variable (von krassos - 5.08.2005 13:14)