Re: Umgang mit den LONGSs Kategorie: Programmierung C (von jo - 15.11.2010 12:51) | |
Als Antwort auf Re: Umgang mit den LONGSs von ulrich korth - 15.11.2010 12:27
| |
> > > 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??kein Problem nur der Code zum Test > // 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 --> Ich hätte erwartet, dass l = FEDC wird ! > 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 ulrich korth - 15.11.2010 15:45) |
Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - Zum C-Control-I-Forum - Zum C-Control-II-Forum