java运算符 与(&)、非(~)、或(|)、异或(^) (转)

出自:https://www.cnblogs.com/yesiamhere/p/6675067.html

一、根据公式将一个十进制数字,转为二进制数字:


二、二进制转为十进制,公式:

三、异或运算^

四、位与运算&

五、位或运算 | 

六、位非运算符~

需要明白一点的是,在计算机中 正数,负数都是通过补码的形式保存的,而正数的补码是其本身的原码,而负数的补码则要根据其绝对值的原码转化为反码,然后通过加1的操作得到补码的

正数~位非操作后,按规则是得到一个负数吗?按下面的算法就是如此

~操作后,得到的二进制数字,就是-6在内存中的存储形式。而补码减一、逐个取反,得到的是她的绝对值而已。

你可能感兴趣的:(java运算符 与(&)、非(~)、或(|)、异或(^) (转))