View source code
Display the source code in core/bitop.d from which this page was generated on github.
Report a bug
If you spot a problem with this page, click here to create a Bugzilla issue.
Improve this page
Quickly fork, edit online, and submit a pull request for this page. Requires a signed-in GitHub account. This works well for small changes. If you'd like to make larger changes you may want to consider using local clone.

Function core.bitop.bsr

Scans the bits in v from the most significant bit to the least significant bit, looking for the first set bit.

int bsr (
  uint v
) pure nothrow @nogc @safe;

int bsr (
  ulong v
) pure nothrow @nogc @safe;

Returns

The bit number of the first bit set. The return value is undefined if v is zero.

Example

writeln(bsr(0x21)); // 5
writeln(bsr((ulong.max >> 15) - 1)); // 48

Authors

Don Clugston, Sean Kelly, Walter Bright, Alex Rønne Petersen, Thomas Stuart Bockman

License

Boost License 1.0