long l = 7L;
System.out.println(Math.abs(Long.rotateLeft(l, 61)) >= 4611686018427387904l);
System.out.println(Long.toBinaryString(Math.abs(Long.rotateLeft(l, 61))));
结果怎么会是:false , 10000000000000000000000000000000000000000000000000000000000000
就是第62位为1。
我觉的结果应该是:true , 110000000000000000000000000000000000000000000000000000000000000
就是第63和62位都是1的,
不知道是不是我错了。希望大家能帮一下,谢谢。急。
System.out.println(Math.abs(Long.rotateLeft(l, 61)) >= 4611686018427387904l);
System.out.println(Long.toBinaryString(Math.abs(Long.rotateLeft(l, 61))));
结果怎么会是:false , 10000000000000000000000000000000000000000000000000000000000000
就是第62位为1。
我觉的结果应该是:true , 110000000000000000000000000000000000000000000000000000000000000
就是第63和62位都是1的,
不知道是不是我错了。希望大家能帮一下,谢谢。急。
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货