任意の実数を底とする対数ってやっぱ底の変換公式を使って
double log2(double a,double b){
return log(b)/log(a);
}
とやるしかないんかのぉ。