>>> 1 將整數二進制表示**向右移動 1 位,高位補 0**(無符號),與有符號右移 > 1(高位補符號位)不同。
二進制: 100100100 (十進制 292)
>>> 1 後: 010010010 (十進制 146)
等價於: 292 / 2 = 146 (丟棄餘數)
>>> 1 與 > 1、/ 2 結果完全一致。>>> 1 將符號位視為數值位,結果為大正數(如 -1 >>> 1 = 0x7FFFFFFF = 2147483647)。// 提取低 16 位
int low16 = value & 0xFFFF;
// 無符號右移 16 位提取高 16 位(避免符號擴展)
int high16 = value >>> 16;
// 哈希碼混合 (Java HashMap)
h ^= (h >>> 20) ^ (h >>> 12);
h ^= (h >>> 7) ^ (h >>> 4);
>>> 是處理無符號語義的唯一運算符。>> 33 等價於 >> 1。掌握 >>> 的無符號語義,是處理二進制協議、壓縮算法、加密運算的基礎技能。