class test4{ public static void main(String[] argc){ int i=-64; int s=i>>2; int test=i<<2; i = i>>>4;System.out.println("s="+s+" test="+test+" val="+i); } }print s=-16 test=-256 val=268435452
class test4{ public static void main(String[] argc){ int i=-64; int s=i>>2; int test=i<<2;
public static void main(String[] argc){
int i=-64;
int s=i>>2;
int test=i<<2;
i = i>>>4;System.out.println("s="+s+" test="+test+" val="+i);
}
}print s=-16 test=-256 val=268435452
public static void main(String[] argc){
int i=-64;
int s=i>>2;
int test=i<<2;
byte val=(byte)(i>>>4);
System.out.println("s="+s+" test="+test+" val="+val);
}
}
编译通过
但是,编译后运行的结果怎么和java2英文认证教程上边第39页的例子的结果不一样的,那个上边的结果是 二进制 11111100,应该是十进制的-124的。可以解释一下原因么?
public static void main(String[] argc){
int i=-64;
int s=i>>2;
int test=i<<2;
byte val=(byte)(i>>>4);
System.out.println("s="+s+" test="+test+" val="+val);
}
}结果:s=-16 test=-256 val=-4
老兄,可以知道你的oicq号码么?大家交个朋友了。
me的:5856874
不好意思,我也只是在公司上上网,所以没有OICQ
有问题要讨论就到CSDN来吧,这里气氛很好,高手也很多