This is what I learned about bitwise operators the other day (I set it up in a table so that I can remember what goes where)
Operator | Syntax | Example |
---|---|---|
Bitwise Not | ~a | ~0111 = 1000 |
Bitwise OR | a | b | 0111 | 0000 = 0111 |
Bitwise And | a & b | 0111 & 1111 = 0111 |
Bitwise XOR | a ^ b | 0111 | 1111 = 1000 |
Bitwise Shift Left | a << 2 | 0111 = 1100 |
Bitwise Shift Right | a >> 2 | 0111 >> 2 = 0001 |
Bitwise Shift Right | a >> 2 | 1000 >> 2 = 1110 |
*Right shift depends on sign and unsigned, unsigned always put preceding number(s) as 0, if it is signed, it depends on if the first number is 1 or 0, if it is 1 then the preceding number(s) become 1
*(I hope I copied it right)*