当前位置: 首页 > 后端技术 > Java

Java位操作符--和---案例详解

时间:2023-04-01 20:56:41 Java

下图是java教程中对>>和>>>区别的解释,但是介绍的不详细,因为这两个操作符是补码执行二进制操作。1、学过计算机原理的都知道,数字在计算机中是以补码的形式存储的,那么源码、反码、补码的关系如下:**正整数*的原码*,反码和补码相同;**负数部分**:1.原码与反码互转:符号位不变,值位逐位取反2.原码与补码互转:符号位不变,值位逐位取反,最后一位加13。知道补码,求原码负数的补码:符号位和值位都取反,最后一位加12。在理解了数为补码方式存储后,我们现在观察下面的程序代码和结果截图3.总结通过上面的实验,我们得到以下结论:1.A>>2的操作是将A的二进制值取二进制补码表示右移两位,空位补上与符号位相同的数。2、A>>>2的运算忽略了符号位(即符号位和值位一起右移),将A的补码表示右移两位,和空位填0;