java吧 关注:1,244,032贴子:12,719,957
  • 9回复贴,共1

这个刚刚看到有人发帖运行了一下下面的代码

只看楼主收藏回复

int x=2147483647;
int y=(x+x)/2;
System.out.println("y="+y);
int a=2147483647;
int b=(a+a)>>1;
System.out.println("b="+b);
int m=2147483647;
int n=(m+m)>>>1;
System.out.println("n="+n);


IP属地:北京1楼2015-10-14 11:05回复
    y=-1
    b=-1
    n=2147483647
    结果:果然很感人


    IP属地:北京2楼2015-10-14 11:06
    收起回复


      来自Android客户端3楼2015-10-14 11:07
      收起回复
        水货,虽然我数组都不懂,上面的代码我也能口算了


        IP属地:安徽来自Android客户端4楼2015-10-14 11:53
        收起回复
          如果數字太大超過該整數型態可以表示的最大值時, 超過的位元也會不見, 在執行時出現這兩種狀況你的程式都會假裝沒事一樣地繼續下去, 因此你自己在寫這樣子的程式時要特別小心。


          5楼2015-10-14 11:58
          回复