Nem a bitenkénti műveletek szorulnak magyarázatra: int b = (int)(exp(a*log(2.0))+0.5); // Idióta vagyok és az 1 << a művelet meghaladja a képességeimet :)