Skip to content

Instantly share code, notes, and snippets.

@jweinst1
Created September 16, 2025 22:34
Show Gist options
  • Save jweinst1/8671e83f4452fbe296b36b84441f1e48 to your computer and use it in GitHub Desktop.
Save jweinst1/8671e83f4452fbe296b36b84441f1e48 to your computer and use it in GitHub Desktop.
bit state machine
>>> bin(0b11011 & (~(1 << 0) | (1 << 1)))
'0b11010'
>>> bin(0b11011 & ~((1 << 0) | (1 << 1)))
'0b11000'
>>> bin(0b11011 & ~((1 << 0) | (1 << 1)))
'0b11000'
>>> bin(0b11011 & ~(1 << 3))
'0b10011'
>>> bin(0b11011 & ~((1 << 3) | (1 << 0)))
'0b10010'
>>> bin(0b11011 & ~((1 << 3) | (1 << 0) | (1 << 1)))
'0b10000'
>>> bin(0b11011 & ~((1 << 3) | (1 << 0) | (1 << 2) | (1 << 1)))
'0b10000'
>>> bin(0b11011 & ~((1 << 3) | (0 << 0) | (1 << 2) | (1 << 1)))
'0b10001'
>>> bin(0b11011 & ~((1 << 3) | (0 << 0) | (1 << 2) | (0 << 1)))
'0b10011'
>>> bin(0b11011 & ~( (1 << 4) | (1 << 3) | (0 << 0) | (1 << 2) | (0 << 1)))
'0b11'
>>> bin(0b11011 & ~( (1 << 4) | (1 << 3) | (0 << 0) | (1 << 2) | (1 << 1)))
'0b1'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment