---
name: "bitmap_ord_to_pos"
section: "9"
platform: "linux"
package: "linux-manual-4.9"
version: "4.9.228-1"
release: "Debian 9 (Stretch)"
platforms: ["linux"]
url: "https://new.carta.tech/bitmap_ord_to_pos"
---

# bitmap\_ord\_to\_pos(9)

find position of n-th set bit in bitmap

## NAME

bitmap\_ord\_to\_pos - find position of n-th set bit in bitmap

## SYNOPSIS

**unsigned int bitmap\_ord\_to\_pos(const unsigned long \*** *buf***, unsigned int** *ord***, unsigned int** *nbits***);**

## ARGUMENTS

*buf*

pointer to bitmap

*ord*

ordinal bit position (n-th set bit, n \>= 0)

*nbits*

number of valid bit positions in *buf*

## DESCRIPTION

Map the ordinal offset of bit *ord* in *buf* to its position in *buf*. Value of *ord* should be in range 0 \<= *ord* \< weight(buf). If *ord* \>= weight(buf), returns *nbits*.

If for example, just bits 4 through 7 are set in *buf*, then *ord* values 0 through 3 will get mapped to 4 through 7, respectively, and all other *ord* values returns *nbits*. When *ord* value 3 gets mapped to (returns) *pos* value 7 in this example, that means that the 3rd set bit (starting with 0th) is at position 7 in *buf*.

The bit positions 0 through *nbits*-1 are valid positions in *buf*.

## COPYRIGHT
