__builtin_函数

2019-01-11 11:09:04 浏览数 (1)

__builtin_ctz(x);         //  求x的二进制数末尾0的个数

代码语言:javascript复制
__builtin_ctz(0100) == 2;

__builtin_clz(x);        //  求x的二进制数前导0的个数(ps:一共有32位)

代码语言:javascript复制
__builtin_clz(0100) == 29;

__builtin_popcount(x);       //  求x的二进制数中的1的个数

代码语言:javascript复制
__builtin_popcount(0100) == 1;

__builtin_ffs(x);         //  求x的二进制数中最低位1的位置(突然发现和lowbit有一样的作用,但是要比lowbit慢)

代码语言:javascript复制
__builtin_ffs(0100) == 3;

__builtin_parity(x);       //  求x的二进制数中1的个数的奇偶性(奇数为1  偶数为0)

代码语言:javascript复制
__builtin_parity(0100) == 1;

0 人点赞