取反~
即~0=1 ~1=0。
注意:位取反运算并不改变操作数的值,是赋值操作改变操作数的值,A=~A。与运算 &
即 1&1=1 1&0=0 0&1=0 0&0=0。
用法: 1&0=0 0&0=0 即和0与运算是清零的动作。
1&1=1 0&1=0 即和1与运算是其位不变。或运算 |
即 1|1=1 1|0=1 0|1=1 0|0=0。
用法: 1|1=1 0|1=1 即和1或运算则都变成1。
1|0=1 0|0=0 即和0或运算不改变原来的位。异或运算 ^
即 1^1=0, 1^0=1, 0^1=1, 0^0=0。
用法: 异或可以实现反转和指定位的反转。
1^1=0, 0^1=1 即与1异或都会得到反转。
1^0=1, 0^0=0 即与0异或其原位不变。移位运算 << >>
即<<(左移),>>(右移),操作数的二进制0,1序列向左或向右移n位。
执行移位运算不改变操作数的值。
左移1位,等价于乘以2;右移1位,等价于除以2。
移位是溢出以后的数据读取不到。- 位运算注意
1:位的取反,与,或,异或运算不关心操作数的符号,只是按照操作数的0,1序列进行比对,符号位
会被当成普通的0,1进行操作。
2:无符号的数据进行位运算时,需要自动进行转换,低字节向高字节转换的时候,会自动填充0。
3:有符号的数据进行位运算时,需要自动进行转换,低字节向高字节转换的时候,正数会按照符号位0进
行自动填充0,负数会按照符号位1进行自动填充1。
位运算符
最新推荐文章于 2024-01-09 22:03:42 发布