跳至主要內容

Java位运算符

原创GuoCay约 239 字JavaJDK

操作符实例等效于备注
<< 左移// 8int a = 1 << 3int a = 1 * 2^3左移操作相当于 左移数 乘以2的N次幂(正整数, 需要考虑int的最大值)左移操作的本质是将数字转换为二进制,舍弃前N位.向后补N个0;
>> 右移int a = 1 >> 3``右移操作的本质是将数字转换为二进制,舍弃后N位,向前补N个0;
>>> 无符号右移``忽略符号位, 空位补0``
& 与// 1int a = 1 & 1// 0int b = 1 & 0// 0int c = 0 & 0``与计算是将两个数的二进制表示后进行对位比较,仅当同位都为1时输出1,否则输出0;
// 1int a = 11// 1int b = 1
^ 位异或``二进制表达后,相同位置的数相同为0,相反为1.``
~ 位非``二进制表达后,取反``