1.前言
本文在JAVA语言的基础上,对数据的位运算进行了讨论。
2.位运算符
按位与运算符:&
同为1的菜为1,否则为0.
例:2 & 3=2
过程分析:
2 00000010
& 3 00000011
—————————————
2 00000010
- 按位或运算符:|
有1即为1,否则为0
例:2 | 3=3
分析:
2 00000010
& 3 00000011
—————————————
3 00000011
- 按位非运算符:~
取反:0变1,1变0
例:~3=-4
相当于~n=-(n+1)
分析:
3 00000011
~ 11111100 补码
10000011 反码
-4 10000100 原码
- 按位异或:^
不同为1,相同为0
例:2^3=1
分析:
2 00000010
^ 3 00000011
—————————————
3 00000011
3.移位运算符
- 左移位运算符:<<
整体机器字长向左平移n位,右侧补0,相当于