宛如平凡的落葉
2007-05-04 21:10:45 UTC
public class work01 {
public static void main(String[] args) {
int a=-1;
int b=-1;
System.out.println(a>>>=31);
System.out.println(b>>=31);
System.out.println();
}
}
我爬文後,關鍵字"運算",看到了這個
===============================================
但為什麼 a>>>=31 是 1, a>>=31 是 -1
能否有高手能使用二進位表示告訴我,1 和 -1 是怎麼移又怎麼得到的嗎 QQ?
被這個問題纏了一整晚 QQ
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 210.201.15.73
public static void main(String[] args) {
int a=-1;
int b=-1;
System.out.println(a>>>=31);
System.out.println(b>>=31);
System.out.println();
}
}
我爬文後,關鍵字"運算",看到了這個
===============================================
=這個運算子是代表:位元右移後指定數值給變數
================================================是代表:位元右移並補零再指定數值給變數
但為什麼 a>>>=31 是 1, a>>=31 是 -1
能否有高手能使用二進位表示告訴我,1 和 -1 是怎麼移又怎麼得到的嗎 QQ?
被這個問題纏了一整晚 QQ
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 210.201.15.73