![]() |
Linke bzw. rechte Bits aus Variable vom Typen Word
Hi!
Ich habe eine Variable vom Typen Word (32bit unsigned int). Nun hätte ich gerne einmal den Wert der 20 linken und der 12 rechten Bits (am liebsten wieder als 32bit uint)... Mit shl bzw shr komme ich da nicht weiter. Gibts vielleicht sonst irgendwelche Funktionen/Operatoren, die sowas erledigen? Wenn ich mir eine Function dabür bauen wollte, müsste ich ja mit Zeigern *pfüi* arbeiten... Wäre toll, wenn mir jemand unter die Arme greifen könnte. Grüße Ganymed |
Re: Linke bzw. rechte Bits aus Variable vom Typen Word
Moin Ganymed,
doch, mit schieben würdest Du weiterkommen, Du musst nur vorher die gewünschten Bits ausmaskieren. Das sieht dann so aus:
Delphi-Quellcode:
const
_dwMaskLeft20Bits = $FFFFF000; // Zum ausmaskieren der höherwertigen 20 Bits _dwMaskRight12Bits = $00000FFF; // Zum ausmaskieren der niederwertigen 12 Bits var dwBase : DWORD; dw20 : DWORD; dw12 : DWORD; begin dwBase := $ABCDEF98; dw12 := dwBase and _dwMaskRight12Bits; dw20 := (dwBase and _dwMaskLeft20Bits) shr 12; // Ausmaskierte Bits noch rechtsbündig, falls erforderlich end; // dw12 ist dann: $00000F98 // dw20 ist dann: $000ABCDE |
Re: Linke bzw. rechte Bits aus Variable vom Typen Word
Was ist mit HiWord und LoWord?
|
Re: Linke bzw. rechte Bits aus Variable vom Typen Word
Moin Luckie,
bei 20/12 Aufteilung wird das wohl nicht gehen ;-) |
Re: Linke bzw. rechte Bits aus Variable vom Typen Word
:oops: Wer denkt denn schon an so eine krumme aufteilung. :roll:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:05 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz