-4
res = 1;
for (i = 1; i <= n; i <<= 1) // n = exponent
{
if (n & i)
res *= a; // a = base
a *= a;
}
這應該是更有效的代碼的權力,我不知道這是爲什麼工作。爲什麼這種類型的電源功能起作用?
for()的第一行很好我知道爲什麼在那裏我< < = i。但我不明白這一行是:if(n & i)。我知道如何工作,但我不知道爲什麼...
是什麼'了'?請嘗試更好地解釋您的問題 –
您是否嘗試在循環中添加一個'printf'來查看變量的值? http://ideone.com/NJtt4i – mch
謝謝你我知道了 –