左移 << 值最左边的几位被丢弃,右边多出的几个空位补0
右移 >>
分为算术右移和逻辑右移
逻辑右移: 左边移入的值用0填充
算术右移: 左边移入的值由原来该值的符号位决定。符号位为1则补1,符号位为0则补0
无符号值右移均为逻辑右移
有符号值右移 根据不同编译器选择是逻辑右移还是算术右移
and操作 & 两个位都是1,结果为1,否则结果为0
or操作 | 两个位都是0,结果为0,否则结果为1
xor操作 ^ 两个位不同,结果为1,否则结果为0
sizeof操作符 判断操作数的类型长度
左值和右值
左值:出现在赋值符号左边的东西,表示一个存储位置
右值:出现在赋值符号右边的东西,表示一个值
++ --操作符优先级高于*
右移 >>
分为算术右移和逻辑右移
逻辑右移: 左边移入的值用0填充
算术右移: 左边移入的值由原来该值的符号位决定。符号位为1则补1,符号位为0则补0
无符号值右移均为逻辑右移
有符号值右移 根据不同编译器选择是逻辑右移还是算术右移
and操作 & 两个位都是1,结果为1,否则结果为0
or操作 | 两个位都是0,结果为0,否则结果为1
xor操作 ^ 两个位不同,结果为1,否则结果为0
sizeof操作符 判断操作数的类型长度
左值和右值
左值:出现在赋值符号左边的东西,表示一个存储位置
右值:出现在赋值符号右边的东西,表示一个值
++ --操作符优先级高于*