gcc或clang的部分builtin函数

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

更多builtin函数
https://www.keil.com/support/man/docs/ARMCC/armcc_chr1359125006834.htm

上一篇:静态库文件制作与使用


下一篇:Linux学习01