Bits maskieren

// Bsp. für das Testen des 8. Bits einer Variable:

void __fastcall TForm1::Button1Click(TObject *Sender)
{
    BYTE TestByte;
    BYTE AusgabeByte;

    // bisschen was binär zaubern :)
    asm
    {
        mov TestByte, 00010101b;
    }

    AusgabeByte = TestByte & 000000001;

    //   00010101 (Testbyte)
    // + 00000001 (Prüf-Bitmaske)
    // ----------
    //   00000001 (Ergebnis -> 8. Bit gesetzt)

    if (AusgabeByte != 0)
    {
        ShowMessage("Gesetzt");

        // Falls AusgabeByte == 00000001, also != 0
        // Bit war in TestByte gesetzt
    }
    else
    {
        ShowMessage("Nicht gesetzt");
        // Falls AusgabeByte == 00000000, also == 0
        // Bit war in TestByte nicht gesetzt
    }
}

Schreibe einen Kommentar