Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - Zum C-Control-I-Forum - Zum C-Control-II-Forum

Re: Umgang mit den LONGSs Kategorie: Programmierung C (von ulrich korth - 15.11.2010 12:27)
Als Antwort auf Umgang mit den LONGSs von jo - 15.11.2010 8:17
Ich nutze:
C-Control Pro Mega128, CC-Pro 128 Application Board, Pro-Bot128
> > Hallo Peter, als einer der ersten, die auf LONGs gehofft haben, möchte ich mich erst mal für deren
> > Implementierung bedanken. Ich habe am Wochenende das alte Projekt von float auf long umgestellt
> > und nun läuft es alles in der erfoderlichen Performance. Super, danke.
> >
> > Darf ich dich zum Handling der  longs noch um ein paar Kommentare bitten
> > -> Ausgabe auf LCD über Str_Printf( str, "%0l9d", longwert);
> > dann Ausgabe über str am Display?
> >
> > EEPROM,
> >
> >     unsigned long l;
> >     float f;
> >     word wh, wl;
> >
> >     /*  geht nicht
> >     l = 1234567890;
> >     f = (float)l;
> >     l = 0l;
> >     l = (unsigned long)f;
> >     */
> >
> >     l = 0xFEDCBA98;
> >     wh = l >> 16;
> >     wl = l & 0xffff;
> >
> >     l = 0;
> >
> >     l = (wh << 16ul) + wl;   // geht nicht
> >     l = (wh << 16ul);        // geht auch nicht
> >
> >     l = wh * 65536ul + wl;    // aber das geht
> >
> >     l = l & 0x0fffffff;       // auch OK
> >    
> >
> > --> Workaround über zwei words...
> >
> > Danke und Grü�e
> >
> > Jo    
> >  
> >
Hallo Jo,
schau mal auf den gänderten Programmteil
Gruss Ulrich

    unsigned long l;
     float f;
     word wh, wl;

     l = 1234567890;             //wo ist das Problem??
//     f = (float)l;             solche cast Operatoren gibt es (noch?) nicht in Compact-C
     l = 0l;
//     l = (unsigned long)f;     "

     l = 0xFEDCBA98;
     wh = l >> 16;
     wl = l & 0xffff;

     l = 0;

     l = (wh << 16ul) + wl;   // geht nicht         das ist schon OK, denn (wh << 16) ist 0
     l = (wh << 16ul);        // geht auch nicht    "

     l = wh * 65536ul + wl;    // aber das geht

     l = l & 0x0fffffff;       // auch OK


    Antwort schreiben


Antworten:

Re: Umgang mit den LONGSs (von jo - 15.11.2010 12:51)
    Re: Umgang mit den LONGSs (von ulrich korth - 15.11.2010 15:45)