位运算符
位操作只能用于整形数据,对float和double类型进行位操作会被编译器报错。
按位取反:~
- 将a每位上的1变为0,0变为1
- 相当于~a = -a - 1
位与:&
位或:|
只要对应的两个二进位有一个为1时,结果位就为1。参与运算的两个数均以补码出现出现
- 要有a和b的对应位上有一个1就为1
- 打开位:打开某一个特定的位(1),同时其他位保持不变
位异或:^
参与运算的两数各对应的二进位相异或,当两对应的二进位相异时,结果为1。参与运算数仍以补码出现
实例
两数相加
1 |
|
两数相减
1 |
|