其他分享
首页 > 其他分享> > gcc或clang的部分builtin函数

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

标签:__,gcc,二进制,个数,clang,builtin,0b0100,数中
来源: https://www.cnblogs.com/YHFBlogs/p/15831817.html