Seite 1 von 1

2 werte in einen Word auslesen.

Verfasst: 27.08.2014 21:17
von _JON_
Habe schon wieder null Plan wie hier vorgehen soll.
Ich habe ein 2 Byte langes Wert also sagen wir mal word und darin sind 2 Werte gespeichert.

In den ersten 4 Bit ein Wert und der 2 Wert sind die letzten 12 Bits.

Ich könnt mir das jetzt mit 1 und 0 aufmalen aber wie bekomme ich die Werte mit PB Code.

Re: 2 werte in einen Word auslesen.

Verfasst: 27.08.2014 21:41
von STARGÅTE
die ersten 4 Bits:
Wert & $F
und die letzten 12 Bits:
Wert >> 4 & $FFF

Re: 2 werte in einen Word auslesen.

Verfasst: 27.08.2014 21:59
von _JON_
Danke das scheint zu funktionieren.

Re: 2 werte in einen Word auslesen.

Verfasst: 27.08.2014 22:00
von Sicro
@Stargate: Deine Lösung mit einem Byte-Array ist sicherlich verständlicher.

Edit: @_JON_:Ich ging davon aus, dass du dich bei den Bits vertan hast. Ein Byte hat 8 Bits, somit wäre bei einem Word das erste Byte [Bit 1 bis 8] und das zweite Byte [Bit 9 bis 17]. Ich irre mich jedoch, wie ich sehe.

Re: 2 werte in einen Word auslesen.

Verfasst: 27.08.2014 22:24
von _JON_
Also das ich da irgendein System drin sehen,
wie würde es bei 5 und 11 Bits ausehen :mrgreen:

Re: 2 werte in einen Word auslesen.

Verfasst: 27.08.2014 22:35
von STARGÅTE
$F = %1111 also die ersten 4 Bits
Das & macht eine Und-Verküpfung.
Die >> verschieben den Wert von 4 bits sodass ich danach die neuen 12 Bits lesen kann mit $FFF = %111111111111

Für 5 und 11 bits:
Wert & %11111
Wert >> 5 & %11111111111

Re: 2 werte in einen Word auslesen.

Verfasst: 27.08.2014 22:44
von _JON_
Danke StargÅte :allright:

Jetzt habe Ich es verstanden. Als %11111 sieht das auch viel einfacher aus.
Und nun ich kann mir das auch bildlich vorstellen.