__builtin_ctz(x); // 求x的二进制数末尾0的个数
__builtin_ctz(0100) == 2; __builtin_clz(x); // 求x的二进制数前导0的个数(ps:一共有32位)
__builtin_clz(0100) == 29; __builtin_popcount(x); // 求x的二进制数中的1的个数
__builtin_popcount(0100) == 1; __builtin_ffs(x); // 求x的二进制数中最低位1的位置(突然发现和lowbit有一样的作用,但是要比lowbit慢)
__builtin_ffs(0100) == 3; __builtin_parity(x); // 求x的二进制数中1的个数的奇偶性(奇数为1 偶数为0)
__builtin_parity(0100) == 1;



京公网安备 11010502036488号