Я задавался вопросом, как получить инверсию питания в Ruby?
2 ** 4 # => 16
и затем я хотел бы получить инверсию его, и я не уверен который оператор использовать
16 ?? 2 # => 4
Возведение в степень обратное - логарифм. Если a b = c
, то log a c = b
.
Вы можете найти функции логарифма в модуле Math
, в частности log ()
для base- e и log10 ()
для база-10.
Чтобы получить логарифм для другого основания (скажем, n
), используйте формулу log N a = log ] x a / log x N
, где x
- это значение, такое как e или 10.
Для вашего конкретного случая:
журнал 2 16
= журнал e 16 / журнал e 2
= Math.log (16) / Math.log (2)
= 4
Считаете ли вы объяснение хорошим, потому что оно расширяет ваши знания, или плохим, потому что вы ненавидели слишком много школьная математика, все зависит от вас: -)