Efficient bitwise operations for counting bits or find the right|left most ones
If you want the fastest way, you will need to use non-portable methods. Windows/MSVC: _BitScanForward() _BitScanReverse() __popcnt() GCC: __builtin_ffs() __builtin_ctz() __builtin_clz() __builtin_popcount() These typically map directly to native hardware instructions. So it doesn’t get much faster than these. But since there’s no C/C++ functionality for them, they’re only accessible via compiler intrinsics.