# :
int ipow(int base, int exp) {
int result = 1;
while (exp > 0) {
if ((exp & 1) != 0) {
result *= base;
}
exp >>= 1;
base *= base;
}
return result;
}
( , base , , C.)
& (exp 1), . , exp.
, , exp , exp.
exp, , 21, 10101 , 16 + 4 + 1. , 21 , 16 *, 4 * 1 *.