基本概念
位运算是把数字用二进制表示之后,对每一位上0或者1的运算。
讲个笑话:世界上有10种人,一种人知道二进制,而另一种人不知道二进制……
运算方式
- 与
- 或
- 异或
- 左移
左移运算符 m < < n m << n m<<n 表示把 m m m 左移 n n n 位。在左移 n n n 位的时候,最左边的 n n n 位将被丢弃,同时在最右边补上 n n n 个0 - 右移
右移运算符 m > > n m >> n m>>n 表示把 m m m 右移 n n n 位。在右移 n n n 位的时候,最右边的 n n n 位将被丢弃。但右移时处理最左边位的情形要稍微复杂一点。如果数字是一个无符号数值,则用 0 0 0 填补最左边的 n n n 位;如果数字是一个有符号数值,则用数字的符号位填补最左边的 n n n 位。