算法基础知识

位运算

1. 按位与(&)

整数范围、有0则0

2. 按位或(|)

整数范围、有1为1

3. 按位异或(^)

整数范围、相同为0不同为1

4. 按位左移(<<)

整数范围
把二进制数左移一位,左边丢弃,右边补零
左移有×2的效果

5. 按位右移(>>)

整数范围
把二进制数右移一位,右边丢弃,左边补原符号位
右移有÷2的效果

6. 取反(~)

1变0,0变1

7. 补码

将十进制的负整数转换为二进制数
先按正数转换,然后取反加1。
例:将-10转换为二进制
10二进制表示: 0000 0000 1010
取反: 1111 1111 0101
加1: 1111 1111 0110即为-10的二进制表示

你可能感兴趣的:(leetcode,算法)