Каков реверс Математического Питания (**) в Ruby?

Я задавался вопросом, как получить инверсию питания в Ruby?

2 ** 4 # => 16

и затем я хотел бы получить инверсию его, и я не уверен который оператор использовать

16 ?? 2 # => 4
22
задан Yu Hao 6 January 2015 в 05:00
поделиться

2 ответа

Возведение в степень обратное - логарифм. Если 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

Считаете ли вы объяснение хорошим, потому что оно расширяет ваши знания, или плохим, потому что вы ненавидели слишком много школьная математика, все зависит от вас: -)

63
ответ дан 29 November 2019 в 03:37
поделиться
Math.log(16) / Math.log(2)
6
ответ дан 29 November 2019 в 03:37
поделиться
Другие вопросы по тегам:

Похожие вопросы: