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

Re: Bytearray umwandeln in Zahl mit Vorzeichen Kategorie: Programmierung (von Felix W. - 2.02.2006 9:39)
Als Antwort auf Re: Bytearray umwandeln in Zahl mit Vorzeichen von André H. - 29.01.2006 17:03
Ich nutze:
C-Control II Station, OSOPT V3.0
> Hallo Felix,
>  
> > Ich bekomme über den CAN-Bus einen Wert, der als Bytearray geliefert wird.
> > Wie wandele ich diesen Wert in einen Zahlenwert mit Vorzeichen um??
> >
>
> Wie krassos schon sagt. Ohne zu wissen, in welchem Format die Daten im Array
> stehen, kann man nicht konkret helfen.
>
> Wenn Du z.B. ein Bytearray mit Low-Byte(Byte 0) HighByte(Byte 1) hast,
> kannst Du z.B. folgendes machen:
> wert=array[0] or (array[1] shl 8);
>
> Alternativ können auch Funktionen, wie mem.getint(); oder mem.getlong(); genutzt werden.
> Diese funktionieren erwarten jedoch immer LSB first.
> Wenn die Reihenfolge anders ist, geht es nur nach erstem Schema.
>
> MfG André H.
>

Hallo Krassos, Hallo André,

ok, um das zu konkretisieren:

Das Bytearray umfasst 8 Bytes, mein Wert steht in Array 0 bis 2 (24 Bit-Wert).
Die Reihenfolge ist LowByte - HighByte.
Weiterhin ist der Wert im Zweierkomplement codiert, d.h. mit Vorzeichen.

Bislang haben meine Versuche nur wildes Zahlengewirbel hervorgerufen.
Wie gehe ich am besten vor??

Vielen Dank,

Grü�e,

Felix W.


    Antwort schreiben


Antworten:

Re: Bytearray umwandeln in Zahl mit Vorzeichen (von André H. - 8.02.2006 8:38)
Re: Bytearray umwandeln in Zahl mit Vorzeichen (von KönigDichBauch - 6.02.2006 9:01)
    Re: Bytearray umwandeln in Zahl mit Vorzeichen (von André H. - 8.02.2006 8:41)
        Re: Bytearray umwandeln in Zahl mit Vorzeichen (von Matthias Koch - 9.02.2006 19:51)
            Re: Bytearray umwandeln in Zahl mit Vorzeichen (von André H. - 10.02.2006 21:23)
            Re: Bytearray umwandeln in Zahl mit Vorzeichen (von Felix W. - 10.02.2006 20:29)
                Re: Bytearray umwandeln in Zahl mit Vorzeichen (von André H. - 10.02.2006 21:35)