位运算符
Contents
位运算符
- 位运算符主要用数值类型进行计算的
- 将数值转换为2进制 再进行位运算
- 如果一个数的位数和另一个数不一样 则补0
//对位计算 &有0则0 |有1则1 异或^相同为0 不同为1
int a = 1; //001
int b = 5; //101
int c = a & b;//结果:001 1
//补0
a = 3; // 011
b = 19;//10011
c = a & b;//结果00011 3位取反
int a = 5;//0101
int b = ~a; //b=-6
//完整的int 2进制 第一位是符号位
//0000 0000 0000 0000 0000 0000 0000 0101
//取反后
//1111 1111 1111 1111 1111 1111 1111 1010坐移« 和 右移»
- 让一个2进制数进行左移和右移
- 左移几位 右侧增加几个0
- 右移几位 右侧去掉几个数
int a = 5;//101
int b = a << 5; //10100000 160
int b = 4;//100
int c = b >>2; //001 1