我HAVA看到這個代碼在HashMap中:約(位和)運算符
/**
* Returns index for hash code h.
*/
static int indexFor(int h, int length) {
// assert Integer.bitCount(length) == 1 : "length must be a non-zero power of 2";
return h & (length-1);
}
的HashMap具有本文檔: 當長度是兩個則h &(長度-1)是等於功率H%長度
我想知道,在數學 原則恰恰是爲什麼^ h &(長度1)== X%的長度(長度爲二的冪)
十進制,10^n = 100000000 ...; 10^n - 1 = 9999999 ...。原理相同。 – Ryan
你能詳細給我解釋一下嗎?我仍然困惑 – Timi