Kommentar: Einfügen von HTML im Kommentar: Link einfügen: <a href="LINKURL" target="_blank">LINKTITEL</a> Bild einfügen: <img src="BILDURL"> Text formatieren: <b>fetter Text</b> <i>kursiver Text</i> <u>unterstrichener Text</u> Kombinationen sind auch möglich z.B.: <b><i>fetter & kursiver Text</i></b> C Quellcode formatieren: <code>Quellcode</code> BASIC Quellcode formatieren: <basic>Quellcode</basic> (Innerhalb eines Quellcodeabschnitts ist kein html möglich.) Wichtig: Bitte mache Zeilenumbrüche, bevor Du am rechten Rand des Eingabefeldes ankommst ! -> I > Schade: Es handelt hier nicht um Long variabelen; es geht um Single . > > Am moment arbeite ich an eine Lösung (gültig für alle Dezimale) mit alle Ziffern in vier Bytes, und der Position > der Komma und das Zeichen in ein fünfter Byte. > Bespiel: > Zahl: -123456,8877 > Long: 1234568877 > 5er Byte: Zeichen=-, Ziffern vor der Komma=6 > > > > > > > Ich wolle Singles (32 bits = 4 bytes) in vier auffolgende Adresse in EEPROM speichern. > > > > > > > > > > Wie kann ich eine Single in vier Bytes aufteilen? (Biteshift ">>" functioniert nicht am Single) > > > > > Oder gibt es vielleicht eine andere Lösung? > > > > > > > > Ich würde die Single in 2 Word aufteilen. Die oberen 16 Bit durch 0xFFFF Dividieren. > > > > Die Division braucht ohnehin etwa die gleiche Zeit wie Shift Befehle und funktioniert bei Single. > > > > Gruß > > > > Ernst H. > > > Irrtum - ich dachte an ULong - bei Single .. keine Ahnung > > > > egal ob long, dword oder unsigned long kannst du folgende Routinen verwenden - nur den > > Datentyp entspr. anpassen! > > Gruss Ulrich > > > > void EEPROM_WriteLong(word pos, long val){ > > EEPROM_WriteWord(pos, val); > > EEPROM_WriteWord(pos+2, val>>16); > > } > > long EEPROM_ReadLong(word pos){ > > long l; > > l=EEPROM_ReadWord(pos+2); > > l=(l<<16) + EEPROM_ReadWord(pos); > > return l; > > }