本文共 698 字,大约阅读时间需要 2 分钟。
见代码演示:
package day02;/** * >> 与 >>> 区别? */public class MyTest { public static void main(String[] args) { /* * 5 * * 00000000 00000000 00000000 00000101 */ int a = 5; int a1 = a>>1; int a2 = a>>>1; System.out.println(a1+"--"+a2); //2--2 /* * -5 * * 10000000 00000000 00000000 00000101 --原码 * 11111111 11111111 11111111 11111010 --反码 * 11111111 11111111 11111111 11111011 --补码 * * 11111111 11111111 11111111 11111101 --(-3) * 01111111 11111111 11111111 11111101 --(2147483645) */ int b = -5; int b1 = b>>1; int b2 = b>>>1; System.out.println(b1+"--"+b2); //-3--2147483645 /* * 总结: * 1.>> 需考虑符号位 * 2.>>> 不考虑符号位,缺少的位数补0 * */ }}
有不对之处还望指正!!!
转载地址:http://lrews.baihongyu.com/