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

posted on   acd407  阅读(233)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示