Embedded Artistry libc
C Standard Library Support for Bare-metal Systems
fls.c File Reference
#include <strings.h>
Include dependency graph for fls.c:

Go to the source code of this file.

Functions

int fls (int mask)
 Finds the last (most significant) bit set in the given mask. More...
 

Function Documentation

◆ fls()

int fls ( int  mask)

Finds the last (most significant) bit set in the given mask.

Finds the last (most significant) bit set in the given (int) mask and return the index of that bit.

Bits are numbered starting at 1, the least significant bit.

Parameters
maskThe bit mask
Returns
The index of the bit if mask is not zero, 0 otherwise.

Definition at line 68 of file fls.c.

69 {
70  if(mask == 0)
71  {
72  {
73  return (0);
74  }
75  }
76 
77  return ((int)sizeof(mask) << 3) - __builtin_clz((unsigned)mask);
78 }