当前位置: 首页 > news >正文

深圳罗湖高端网站建设seo网站快速整站优化技术

深圳罗湖高端网站建设,seo网站快速整站优化技术,河南网站建设公司 政府,专业做食材网站目录 popcount函数 bitset类模板 __builtin_popcount函数 popcount函数 在C中,std::popcount函数是用来计算一个整数二进制表示中包含的1的个数。不过要注意,这个函数是C20标准引入的,因此在使用之前,要先确保编译器支持C20标…

目录

popcount函数

bitset类模板

__builtin_popcount函数


popcount函数

在C++中,std::popcount函数是用来计算一个整数二进制表示中包含的1的个数。不过要注意,这个函数是C++20标准引入的,因此在使用之前,要先确保编译器支持C++20标准。

使用std::popcount非常简单,只需要包含头文件<bit>,然后调用该函数即可。

使用注意:

  1. popcount只接收无符号的整数类型(unsigned int、unsigned char等),不接受任何浮点型的变量。
  2. popcount的返回值就是参数中的二进制表示中包含1的个数。

用法示例:

#include <iostream>
#include <bit>
using namespace std;int main() {unsigned int num = 42; // 二进制表示为 101010int count = std::popcount(num); cout << "Number of set bits in " << num << " is: " << count << endl;return 0;
}
// 输出结果:
/*    Number of set bits in 42 is: 3    */
  • 更多细节见reference:std::popcount - cppreference.com

bitset类模板

bitset是C++标准库中的一个类模板,用于表示固定大小的位序列。std::bitset是一个非常有用的类模板,特别适合处理需要对位进行操作的场景。它提供了方便的方法来设置、获取、计算和转换二进制位序列。

std::bitset可以看作是一个用于表示位序列的容器,其中每一位都可以是0或1。它的大小在创建时就确定了,并且不能动态地调整大小。

以下是std::bitset的基本用法示例:

#include <iostream>
#include <bitset>int main() {// 创建一个包含8位的bitset,初始值的二进制表示为 10101010// 其实可以直接     std::bitset<8> bits(252); std::bitset<8> bits("10101010"); // 获取位数int size = bits.size();std::cout << "Size of the bitset: " << size << std::endl;// 获取特定位的值bool bitValue = bits[3]; // 获取第4位的值,注意索引从右往左数std::cout << "Bit at position 3: " << bitValue << std::endl;// 设置特定位的值bits[2] = 1; // 设置第3位为1std::cout << "Modified bitset: " << bits << std::endl;// 计算1的个数int count = bits.count();std::cout << "Number of set bits: " << count << std::endl;// 将bitset转换为整数unsigned long long num = bits.to_ullong();std::cout << "Converted integer: " << num << std::endl;return 0;
}
  • 更多细节见:std::bitset - cppreference.com

__builtin_popcount函数

另外,还有一个__builtin_popcount函数可以用来计算一个整数中设置为1的位的数量。它的返回值就是给定整数的二进制表示中1的个数。

用法示例:

int __builtin_popcount(unsigned int x);         // 适用于32位整数
int __builtin_popcountll(unsigned long long x); // 适用于64位整数

但有一个关键点需要注意:__builtin_popcount是一种编译器特定的扩展,并不是C++标准中所包含的,在不同的编译器和编程环境中可能表现不一致或不可用。所以__builtin_popcount函数限制了代码的可移植性。

http://www.zhongyajixie.com/news/1002.html

相关文章:

  • 深圳注册公司一定要u盾吗外链seo服务
  • 萧山区建设局网站百度快照优化排名推广怎么做
  • 电商网站建设服务平台网站建设对企业品牌价值提升的影响
  • 网页筛选wordpress游戏优化大师
  • 成都旅游酒店推荐快速排名优化公司
  • 机械网站建设谷歌关键词挖掘工具
  • 网站只有一个首页单页面怎么做排名seo优化网站网页教学
  • 六安建六安建设网站软文代写费用
  • 网站建设书籍在线阅读最新新闻国内大事件
  • 网络建站 响应式网站八种营销模式
  • 教育网站建设开发软文怎么写比较吸引人
  • 东莞 网站制作杭州上城区抖音seo有多好
  • 傻瓜式一键建站系统营销培训机构哪家最专业
  • 网站官网上的新闻列表怎么做深圳最好seo
  • 手表网站建设竞价推广课程
  • 东莞南城网站开发公司怎么样创建网站
  • 深圳珠宝网站建设火星时代教育培训机构官网
  • 微信旧版本下载seoul是什么国家
  • 网站文案编辑怎么做seo模拟点击软件源码
  • 做网站找模板南宁seo公司
  • 营销型网站的目标是品牌营销策略研究
  • 做网站怎么挣钱网上售卖平台有哪些
  • 青岛网站建设方案策划日结app推广联盟
  • 做软装有什么网站找图片网络营销意思
  • 95598网站服务建设站内关键词排名优化软件
  • 小程序 开发公司自媒体seo是什么意思
  • 用vue做商城网站常用的jsgoogle chrome浏览器
  • 天津艺匠做网站怎么样京津冀协同发展
  • 做商业网站的服务费维护费泰州seo网站推广
  • 找人做seo要给网站程序推广之家app