Messages in this thread | | | Date | Wed, 06 Nov 2013 12:52:43 +0100 | From | Clemens Ladisch <> | Subject | Re: Is __ffs64 supposed to be zero based? |
| |
Ben Greear wrote: > Similarly named methods elsewhere seem to indicate it is supposed to be > ones-based counting (ie, bit (1<<0) would be considred 'bit 1'.
ffs() is defined to use one-based counting: <http://pubs.opengroup.org/onlinepubs/9699919799/functions/ffs.html>
__ffs() uses zero-based counting. On gcc, it's likely to be implemented with__builtin_ctz*(), whose documentation says: | Returns the number of trailing 0-bits in x, starting at the least | significant bit position.
Regards, Clemens
| |