位编号 - 查找第一组 (ffs) 或查找第一个 (ffo) Java

use*_*117 1 java bit

for (int i = 32; i <= 127; i++) {
}
Run Code Online (Sandbox Code Playgroud)

我将数字转换int 32为二进制数00100000,并将数字int 127转换为二进制数01111111。我需要从右侧读取的第一个位置(位编号 - 找到第一个集合(ffs)或找到第一个(ffo)),00100000 ->6和 01111111 ->1

谢谢你!

Ale*_* C. 5

API 也是您的朋友:

static int position(int a){
    int pos = Integer.numberOfTrailingZeros(a);
    return pos == 32 ? -1 : pos;
}
Run Code Online (Sandbox Code Playgroud)