__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。

浙公网安备 33010602011771号