Bits oder Bit-Felder aus einer ganzen Zahl extrahieren
Um einzelne Bits zu extrahieren siehe Bits aus einem Signal oder Elemente aus einem Array extrahieren.
Sie können die folgenden Aktionen ausführen:
Ein einzelnes Bit aus einer ganzen Zahl extrahieren
- Verschieben Sie die ganze Zahl, bis das zu extrahierende Bit an Position 0 ist.
-
Wenden Sie ein bit-weises UND und eine 1 an, um das einzelnes Bit zu isolieren.
singleBit = (inputsignal >> BIT)& 1
Ein Bit-Feld aus einem Signal extrahieren
- Verschieben Sie das Inputsignal bis das kleinste zu extrahierende Bit (LEAST_SIGNIFICANT_BIT) an Position 0 ist.
-
Isolieren Sie die Breite des gewünschten Unterbereichs (NUMBER_OF_BITS) mit einem bit-weisen UND und einer Bitmaske.
bitfield = (inputsignal >> LEAST_SIGNIFICANT_BIT) & ~(~0 << NUMBER_OF_BITS)
Siehe auch