2 werte in einen Word auslesen.

Für allgemeine Fragen zur Programmierung mit PureBasic.
Benutzeravatar
_JON_
Beiträge: 389
Registriert: 30.03.2010 15:24

2 werte in einen Word auslesen.

Beitrag 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.
PureBasic 5.46 LTS (Windows x86/x64) | windows 10 x64 Oktober failure
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7039
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Re: 2 werte in einen Word auslesen.

Beitrag von STARGÅTE »

die ersten 4 Bits:
Wert & $F
und die letzten 12 Bits:
Wert >> 4 & $FFF
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Benutzeravatar
_JON_
Beiträge: 389
Registriert: 30.03.2010 15:24

Re: 2 werte in einen Word auslesen.

Beitrag von _JON_ »

Danke das scheint zu funktionieren.
PureBasic 5.46 LTS (Windows x86/x64) | windows 10 x64 Oktober failure
Benutzeravatar
Sicro
Beiträge: 969
Registriert: 11.08.2005 19:08
Kontaktdaten:

Re: 2 werte in einen Word auslesen.

Beitrag 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.
Zuletzt geändert von Sicro am 27.08.2014 22:57, insgesamt 2-mal geändert.
Bild
Warum OpenSource eine Lizenz haben sollte :: PB-CodeArchiv-Rebirth :: Pleasant-Dark (Syntax-Farbschema) :: RegEx-Engine (kompiliert RegExes zu NFA/DFA)
Manjaro Xfce x64 (Hauptsystem) :: Windows 10 Home (VirtualBox) :: Neueste PureBasic-Version
Benutzeravatar
_JON_
Beiträge: 389
Registriert: 30.03.2010 15:24

Re: 2 werte in einen Word auslesen.

Beitrag von _JON_ »

Also das ich da irgendein System drin sehen,
wie würde es bei 5 und 11 Bits ausehen :mrgreen:
PureBasic 5.46 LTS (Windows x86/x64) | windows 10 x64 Oktober failure
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7039
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Re: 2 werte in einen Word auslesen.

Beitrag 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
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Benutzeravatar
_JON_
Beiträge: 389
Registriert: 30.03.2010 15:24

Re: 2 werte in einen Word auslesen.

Beitrag 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.
PureBasic 5.46 LTS (Windows x86/x64) | windows 10 x64 Oktober failure
Antworten