https://www.cnblogs.com/tldr/p/11288935.html

int __builtin_ffs (unsigned int x)

返回x的最后一位1的是从后向前第几位,比如7368(1110011001000)返回4。

int n = 1;//1
int m = 8;//1000
cout<<__builtin_ffs(n)<<endl;//输出1
cout<<__builtin_ffs(m)<<endl;//输出4

int __builtin_clz (unsigned int x)

返回前导的0的个数。

int __builtin_ctz (unsigned int x)

返回后面的0个个数,和__builtin_clz相对。

int n = 1;//1
int m = 8;//1000
cout<<__builtin_ctzll(n)<<endl;//输出0
cout<<__builtin_ctz(m)<<endl;//输出3

int __builtin_popcount (unsigned int x)

返回二进制表示中1的个数。

int n = 15; //二进制为1111
cout<<__builtin_popcount(n)<<endl;//输出4

int __builtin_parity (unsigned int x)

返回x的奇偶校验位,也就是x的1的个数模2的结果。

int n = 15;//二进制为1111
int m = 7;//111
cout<<__builtin_parity(n)<<endl;//偶数个,输出0
cout<<__builtin_parity(m)<<endl;//奇数个,输出1

此外,这些函数都有相应的usigned long和usigned long long版本,只需要在函数名后面加上l或ll就可以了,比如int __builtin_clzll。

https://www.cnblogs.com/tldr/p/11288935.html

c++高效位运算函数之 __builtin_相关推荐

  1. c++ 高效位运算函数之 __builtin_

    总结一下位运算的好用函数 这些函数都有相应的usigned long和usigned long long版本,只需要在函数名后面加上l或ll就可以了,比如int __builtin_clzll. 1. ...

  2. c语言高效位运算函数之 __builtin_

    转自博客园 int __builtin_ffs (unsigned int x) 返回x的最后一位1的是从后向前第几位,比如7368(1110011001000)返回4. int n = 1;//1 ...

  3. C++ 高效位运算函数 之 __builtin_

    刷题时偶然发现了该系列函数,感觉不错,分享下 ####1.__builtin_popcount(n) 该函数时判断n的二进制中有多少个1 int n = 15; //二进制为1111 cout< ...

  4. C/C++ __builtin 超实用位运算函数总结

    众所周知,以 __builtin 开头的函数,是一种相当神奇的位运算函数,下面本人盘点了一下这些以 __builtin 开头的函数,希望可以帮到大家. 注:所有带 ll 的名字,均为 long lon ...

  5. 有趣的二进制—高效位运算

    2019独角兽企业重金招聘Python工程师标准>>> 上一篇<有趣的二进制>我们讲到二进制的一些基础知识,但没有讲到位运算,有同学大呼不过瘾,那这一篇主要讲解下位运算的 ...

  6. 超有趣的二进制—高效位运算秒懂

    附Java/C/C++/机器学习/算法与数据结构/前端/安卓/Python/程序员必读书籍书单大全: 书单导航页(点击右侧 极客侠栈 即可打开个人博客):极客侠栈 ①[Java]学习之路吐血整理技术书 ...

  7. VC中实现GCC的2个比较常用的位运算函数

    在GCC中内嵌了两个位运算的函数,但在VC中并没有这两个函数(有相似函数). //返回前导的0的个数. int __builtin_clz (unsigned int x) //返回后面的0个个数,和 ...

  8. matlab位运算函数

    例子, 1. &按位与运算    bitand takemsg4 = bitand( msg, 240) ; 2. |按位或运算   bitor cover1( i, j) = bitor( ...

  9. 【OpenCV 例程200篇】20. 图像的按位运算(cv2.bitwise)

    专栏地址:『youcans 的 OpenCV 例程 200 篇』 文章目录:『youcans 的 OpenCV 例程200篇 - 总目录』 [youcans 的 OpenCV 例程200篇]20. 图 ...

最新文章

  1. 微软图表控件MsChart
  2. mysql 添加索引
  3. web 移动端 ios 浏览器中 animation 动画异常
  4. c++重载自增与自减运算符(前置与后置)
  5. sc.textFile的相对路径与绝对路径
  6. Linux之date命
  7. 电路计算机辅助设计上海电力学院,上海电力学院电路计算机辅助设计1.doc
  8. Matlab-中寻找峰值函数,波峰波谷
  9. 高斯消元法(Gauss Elimination) 分析 题解 模板——czyuan原创
  10. 如何进行软件需求分析
  11. ajax上传图片 java_Java+ajax+图片上传
  12. OSChina 周日乱弹 ——朕与先生解战袍,芙蓉帐暖度春宵
  13. 根据数据文件sql生成报告rpt
  14. 使用TextPaint实现自由加粗字体:BoldTextView,支持中粗
  15. 【LOJ6240】仙人掌
  16. 超详细CloudCone使用指南
  17. 128、H3C交换机恢复出厂和各种基本配置
  18. CoreData数据库探索
  19. STM32移植STemwin
  20. FPGA(四):高级设计

热门文章

  1. 惠普星 TP01-055ccn电脑重装系统步骤
  2. 手工皮具的大坑之路-封边感悟与工具
  3. 企业微信机器人脚本python_python3 企业微信机器人发送图片
  4. Flutter由其他页面回到当前页面时监听并刷新当前页面的内容
  5. 2022年二级建造师建设工程法规及相关知识考试每日一练及答案
  6. Unity-Live2d(鼠标拖拽触发动作变化)
  7. flip game java_LeetCode 293. Flip Game
  8. 使用nvm管理node和npm
  9. 长安沦陷国家破碎,只有山河依旧,
  10. 强网杯-强网先锋辅助