Flag Word - Changing Bits in Flag Words

Changing Bits in Flag Words

Writing, reading or toggling bits in flags can be done only using the OR, AND and NOT operations - operations which can be performed quickly in the processor.

To set a bit, OR the status byte with a mask byte. Any bits set in the mask byte or the status byte will be set in the result.

int setBit(int val, int bit_position) { return val | (1 << bit_position); }

To clear a bit, perform a NOT operation on the mask byte, then AND it with the status byte. The result will have the appropriate flag cleared (set to 0).

int clearBit(int val, int bit_position) { return val & ~(1 << bit_position); }

To toggle a bit, XOR the status byte and the mask byte. This will set a bit if it is cleared or clear a bit if it is set.

int toggleBit(int val, int bit_position) { return val ^ (1 << bit_position); }

Read more about this topic:  Flag Word

Famous quotes containing the words changing, bits, flag and/or words:

    Good mothers know that their relationship with each of their children is like a movable feast, constantly changing and evolving.
    Sue Woodman (20th century)

    At death, you break up: the bits that were you
    Start speeding away from each other for ever
    With no one to see.
    Philip Larkin (1922–1986)

    —Here, the flag snaps in the glare and silence
    Of the unbroken ice. I stand here,
    The dogs bark, my beard is black, and I stare
    At the North Pole. . .
    And now what? Why, go back.

    Turn as I please, my step is to the south.
    Randall Jarrell (1914–1965)

    Those graceful acts,
    Those thousand decencies, that daily flow
    From all her words and actions, mixed with love
    And sweet compliance, which declare unfeigned
    Union of mind, or in us both one soul.
    John Milton (1608–1674)