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

01串(二进制串)与集合之间存在天然的对应关系 ← bitset

【集合的二进制表示‌】
● 01 串(二进制串)与集合之间存在天然的对应关系。对应机理为
每个二进制位可以表示集合中一个元素的存在(1)或不存在(0)。例如,集合 {a, b, c} 的子集 {a, c} 可以表示为 101(假设顺序为 a、b、c),全集表示为 111,空集表示为 000。

● 集合的二进制表示是一种非常直观且高效的方式,尤其适用于有限集合的子集枚举或状态压缩。

● 
一个长度为 n 的二进制串可以表示 2^n 个子集。例如:n=3 时,有 000、001、010、011、100、101、110、111 共8个子集。

【集合运算与位运算】
交集‌ → a & b(按位与)
‌并集‌ → a | b(按位或)
对称差集‌ → a ^ b(按位异或)
差集‌ → a & (~b)

bitset 与集合的关系】
bitset‌ 是一种固定大小的二进制位容器,每个位表示集合中元素的存在(1)或不存在(0)。

#include <bits/stdc++.h>
using namespace std;int main() {bitset<8> setA("11001100"); //{2,3,6,7}bitset<8> setB("10101010"); //{1,3,5,7}cout<<(setA & setB)<<endl; //10001000cout<<(setA | setB)<<endl; //11101110cout<<(setA ^ setB)<<endl; //01100110cout<<(setA & ~setB)<<endl; //01000100return 0;
}


 

相关文章:

  • 应用层协议:HTTP
  • 圣杯布局和双飞翼布局
  • AtCoder解析大全
  • 单锁与分布式锁
  • 618浴室柜推荐,小户型浴室柜怎么选才省心?
  • 从实践看理论:Facebook 的隐私保护创新
  • 【Zephyr 系列 8】构建完整 BLE 产品架构:状态机 + AT 命令 + 双通道通信实战
  • TDengine 开发指南——高效写入
  • vue2 项目中 npm run dev 运行98% after emitting CopyPlugin 卡死
  • Leetcode日记
  • 图片压缩工具 | 图片生成PDF文档
  • Flotherm许可安装教程
  • Web后端开发(SpringBootWeb、HTTP、Tomcat快速入门)
  • cocos3.X的oops框架oops-plugin-excel-to-json改进兼容多表单导出功能
  • 算法分析与设计-动态规划、贪心算法
  • stress-ng 服务器压力测试的工具学习
  • 构建 MCP 服务器:第一部分 — 资源入门
  • Promtail采集服务器本地日志存储到Loki
  • MySQL事务:从ACID特性到高并发优化的深度解析
  • Vue.js教学第十九章:Vue 工具与调试,Vue DevTools 的使用与 VS Code 插件辅助开发
  • 做logo专用的网站是哪个/某网站搜索引擎优化
  • 网站建设类文章要发多少片/杭州百度优化
  • 邢台做网站推广的地方/阿里云建站
  • 广西造建设工程协会网站/网络营销技巧培训
  • 移动端首页/天津seo网站排名优化公司
  • 织梦做网站简单吗/网站seo优化步骤