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

  1. Verschieben Sie die ganze Zahl, bis das zu extrahierende Bit an Position 0 ist.
  2. 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

  1. Verschieben Sie das Inputsignal bis das kleinste zu extrahierende Bit (LEAST_SIGNIFICANT_BIT) an Position 0 ist.
  2. 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  

RMS berechnen

Aufzählungssignale verwenden

Anwendung von Berechnungen auf spezifische Messpunkte