C 언어에서 거듭제곱에 대한 연산자는 제공되지 않습니다.
아마 비베에서는 a^b 이런식으로 사용하는걸로 아는데
씨에서 위의 표현은 ex-or연산이 되어 버리지요...
문장표현이 없으므로 필요하다면 함수를 만들 수는 있겠네요...
template<typename T> T involution(const T& value, const unsigned int& inv)
{
if(inv == 0 ) return 1 ;
T ret = 1 ;
for(int i=0 ; i<inv ; i++) ret = ret * value ;
return ret ;
}
involution(3, 100) // 3 ^ 100
involution(2.3 , 5) // 2.3 ^ 5
involution('a', 3) // a ^ 3 = !
|