BITOPS(3) BSD Library Functions Manual BITOPS(3)NAME
bitops -- functions related to bits and integers
SYNOPSIS
#include <sys/bitops.h>
DESCRIPTION
The <sys/bitops.h> header includes some static inline functions related bits and integers. Among these are:
ffs32(3) functions to find the first and last bit in integers of type uint32_t and uint64_t
ilog2(3) a macro for binary logarithm
fast_divide32(3) a function for fast 32-bit division
SEE ALSO bits(3), bitstring(3), cdefs(3), param(3)HISTORY
The <sys/bitops.h> header first appeared in NetBSD 4.0.
BSD April 8, 2011 BSD
Check Out this Related Man Page
FFS32(3) BSD Library Functions Manual FFS32(3)NAME
ffs32, ffs64, fls32, fls64 -- find first or last bit set
SYNOPSIS
#include <sys/bitops.h>
int
ffs32(uint32_t n);
int
ffs64(uint64_t n);
int
fls32(uint32_t n);
int
fls64(uint64_t n);
DESCRIPTION
The ffs32() and ffs64() functions find the first bit set in n and return the index of that bit. Conversely, the fls32() and fls64() func-
tions find the last bit set in n, returning the index of the bit.
The search always starts from the bit 1 (the least significant bit). If the argument n is zero, each function returns zero.
IMPLEMENTATION NOTES
The described functions are implemented as static inline functions in the <sys/bitops.h> header. The standard C library includes a more por-
table ffs(3) for user applications.
EXAMPLES
In the following example f = 3 and l = 7:
uint32_t n = 0x44; /* 01000100 */
int f, l;
f = ffs32(n);
l = fls32(n);
SEE ALSO bitops(3), bits(3), bitstring(3), ffs(3), setbit(9)HISTORY
These functions first appeared in NetBSD 5.0.
BSD April 8, 2011 BSD