public static long powMod2_32(int prime, int number) {

int answer2 = 1;

int p = prime;

for (int n = number; n > 0; n >>>= 1) {

if ((n & 1) != 0)

answer2 *= p;

p *= p;

}

return answer2 & 0xFFFFFFFFL;

}

I'm not too advanced with java. I sort of understand what this block of code is doing, but not completely unfortunately. Can someone tell me what it's doing? Thanks!!