Uns*_*aff 3 java math exponential
我想找到任何整数包含的 2 的幂。像 12 = 2*2*3所以答案应该是2,28 = 2*2*7所以答案应该是2等等。
int powerOf2InNumber = (int)Math.floor(Math.log(number) / Math.log(2));
我尝试了上面的代码,但在 28、26、10 等情况下,我得到了错误的答案。
har*_*old 10
有一个方便的内置功能,
int powersOf2 = Integer.numberOfTrailingZeros(number);
Run Code Online (Sandbox Code Playgroud)