/** * 右移 >> 正數 * 0000 0000 0000 0000 0000 0000 0000 0101 * 0000 0000 0000 0000 0000 0000 0000 0000 */ System.out.println(5 >> 3);//結果爲0 /** * 右移 >> 負數 * 負數補碼 * 1111 1111 1111 1111 1111 1111 1111 1011 * 右移,左邊補1 * 1111 1111 1111 1111 1111 1111 1111 1111 */ System.out.println(-5 >> 3);//結果爲 -1 /** * 右移 >>> 無符號右移 即高位補0 * 1111 1111 1111 1111 1111 1111 1111 1011 * 0001 1111 1111 1111 1111 1111 1111 1111 * 因此變成了正數了 */ System.out.println(-5 >>> 3);// 結果是 536870911 /** * 無符號左移 <<< ,不存在的 */