位运算
位运算是直接对二进制进行运算。
位运算符
360社区
详解
基础概念
在 Java 中,一个 int 类型 占用 4 个字节,每个字节 8 位,所以一个 int 占用 32 位存储空间。
左移
左移是指将16的32位二进制表示,向左移 2 位,即舍弃前面 2 位,后面空缺的 2 位,补0
右移
右移是指将16的32位二进制表示,向右移 2 位,即舍弃最后 2 位,最高位空缺的 2 位,根据原有数据最高位的值而定。一般整数为0,负数为1
无符号右移
基础运算跟右移一样,不过最高位空缺的两位,无条件全部补0.
与运算
是指将其运算数的二进制每一位都进行与运算,二进制中 0&0=0,0&1=0,1&1=1。
或运算
是指将其运算数的二进制每一位都进行或运算,二进制中 0|0=0,0|1=1,1|1=1。
异或运算
是指将其运算数的二进制每一位都进行异或运算,如果a、b两个值不相同,则异或结果为1。如果a、b两个值相同,异或结果为0。二进制中 0^0=0,0^1=1,1^1=0。
异或可以用作加密用途,一个数异或同一个数2次,结果还是那个数,如:7 ^ 4 ^ 4 = 7
反码
正数的补码就是该数取反后+1,如 ~6=-7 ~5=-6 |
|
|
|
评论
直达楼层