__builtin 内置函数

前言

备忘录。

__builtin 内置函数

__builtin_ctz

int __builtin_ctz(unsigned int x)

int __builtin_ctzl(unsigned long x)

int __builtin_ctzll(unsigned long long x)

从最低位开始连续 \(0\) 的个数(\(0\) 为未定义)。

__builtin_clz

int __builtin_clz(unsigned int)

int __builtin_clzl(unsigned long)

int __builtin_clzll(unsigned long long)

从最高位开始连续 \(0\) 的个数(\(0\) 为未定义)。

__builtin_ffs

int __builtin_ffs(unsigned int)

int __builtin_ffsl(unsigned long)

int __builtin_ffsll(unsigned long long)

最低位非 \(0\) 为的下标(从 \(1\) 开始),\(0\)\(0\)

\(0\) 外等价于 __builtin_ctz(x)+1

__builtin_popcount

int __builtin_popcount(unsigned int)

int __builtin_popcountl(unsigned long)

int __builtin_popcountll(unsigned long long)

二进制中 \(1\) 的个数。

__builtin_parity

int __builtin_parity(unsigned int)

int __builtin_parityl(unsigned long)

int __builtin_parityll(unsigned long long)

二进制中 \(1\) 的个数的奇偶,等价于 __builtin_popcount(x)&1

posted @ 2024-01-18 13:57  123wwm  阅读(172)  评论(0)    收藏  举报