一、原码、反码、补码
- 二进制的最高位是符号位,0 为正,1 为负
- 正数的原码、补码、反码 都是一样的
- 负数的反码 = 它的原码符号位不变,其他按位取反
- 0的反码和补码都是 0
- java没有无符号之数,即Java的数都是有符号的
- 在计算机计算时,都是以补码的方式来计算的
- 运算结果以原码的方式呈现
二、位运算符
- 按位与&:两位全为 1,结果为 1,否则为 0
- 按位或|:两位有一位为 1,结果为 1,否则为 0
- 按位异或^:两位有一位为 0,一位为 1,结果为 1,否则为 0
- 按位取反~:0-》1,1-》0
- 算数右移符 >>: 本质相当于除以 2
- 算数左移符<<: 本质相当于乘以 2
三、计算
~2 2|3 2^3