首页 > 解决方案 > 如何在Java中找到整数中2的指数?

问题描述

我想找到任何整数包含的 2 的幂。像 12 = 2*2*3所以答案应该是228 = 2*2*7所以答案应该是2等等。

int powerOf2InNumber = (int)Math.floor(Math.log(number) / Math.log(2));

我尝试了上面的代码,但在 28、26、10 等情况下,我得到了错误的答案。

标签: javamathexponential

解决方案


有一个方便的内置功能,

int powersOf2 = Integer.numberOfTrailingZeros(number);

推荐阅读