C++容器之位集(std::bitset)
目录
- 1 概述
- 2 使用实例
- 3 接口使用
- 3.1 constructor
- 3.2 count_and_size
- 3.3 test
- 3.4 any
- 3.5 none
- 3.6 all
- 3.7 set
- 3.8 reset
- 3.9 filp
- 3.10 to_string
- 3.11 to_ulong
- 3.12 to_ullong
- 3.13 operators
1 概述
位集存储位(只有两个可能值的元素:0或1,true或false,…)。
该类模拟bool元素的数组,但针对空间分配进行了优化:通常,每个元素只占用一个位(在大多数系统上,这比最小的元素类型char少八倍)。
每个比特位置都可以单独访问:例如,对于一个名为foo的给定比特集,表达式foo[3]访问其第四个比特,就像正则数组访问其元素一样。但是,因为在大多数C++环境中,没有元素类型是单个位,所以各个元素都是作为特殊引用类型访问的(请参见bitset::reference)。
位集具有能够从整数值和二进制字符串构造并转换为它们的特性(请参见其构造函数和成员to_ulong和to_string)。它们也可以直接从二进制格式的流中插入和提取(请参阅适用的运算符)。
位集的大小在编译时是固定的(由其模板参数决定)。对于一个同时优化空间分配并允许动态调整大小的类,请参阅向量的布尔特化(vector<bool>)。
其类图如下:

2 使用实例
void BitsetSuite::operators()
{std::bitset<4> a (std::string("1001"));std::bitset<4> b (std::string("0011"));TEST_ASSERT_EQUALS("1010", (a ^= b).to_string())//XOR,assignTEST_ASSERT_EQUALS("0010", (a &= b).to_string())//AND,assignTEST_ASSERT_EQUALS("0011", (a |= b).to_string())//OR,assignTEST_ASSERT_EQUALS("1100", (a <<= 2 ).to_string())//Shitf left,assignTEST_ASSERT_EQUALS("0110", (a >>= 1 ).to_string())//Shitf right,assignTEST_ASSERT_EQUALS("1100", (~b).to_string())//NOTTEST_ASSERT_EQUALS("0110", (b << 1 ).to_string())//Shitf leftTEST_ASSERT_EQUALS("0001", (b >> 1 ).to_string())//Shitf leftTEST_ASSERT_EQUALS(false, (a == b))//(0110==0011)TEST_ASSERT_EQUALS(true, (b != a)) //(0011!=0110)TEST_ASSERT_EQUALS("0101", (a ^ b).to_string())//XORTEST_ASSERT_EQUALS("0010", (a & b).to_string())//ANDTEST_ASSERT_EQUALS("0111", (a | b).to_string相关文章:
C++容器之位集(std::bitset)
目录 1 概述2 使用实例3 接口使用3.1 constructor3.2 count_and_size3.3 test3.4 any3.5 none3.6 all3.7 set3.8 reset3.9 filp3.10 to_string3.11 to_ulong3.12 to_ullong3.13 operators1 概述 位集存储位(只有两个可能值的元素:0或1,true或false,…)。 该类模拟bool…...
《Ai学习笔记》自然语言处理 (Natural Language Processing):常见机器阅读理解模型(上)02
Glove 词向量: 在机器理解中的词的表示: 词袋(bow,bag of words) one-hot 词向量 word2vec glove 目的:将一个词转换成一个向量 Word2vec 是一种用于生成词向量的工具包,由Google在2013年开源推出…...
老师如何在线发布期末考试成绩查询?
在这个数字化时代,教育领域也迎来了翻天覆地的变化。传统的纸质成绩查询方式已经逐渐被在线成绩查询所替代。如何高效、便捷地进行在线期末考试成绩查询? 成绩的录入与上传。教师需要将学生的考试成绩准确无误地录入系统。这一步骤需要细心和耐心&#x…...
TensorBoard相关学习
TensorBoard是Google为TensorFlow框架开发的一个强大的可视化工具,它可以帮助用户更直观地理解、分析和调试机器学习模型的训练过程。通过TensorBoard,你可以可视化模型的结构、监控训练过程中的指标变化(如损失函数、准确率)、查…...
敏感数据处理的艺术:安全高效的数据提取实践与挑战
在数字化时代,数据已成为驱动经济社会发展的核心要素之一。然而,伴随数据量的爆炸性增长,敏感数据的管理和保护成为了信息安全领域的重大挑战。敏感数据,包括个人身份信息、财务记录、健康档案、商业秘密等,一旦泄露&a…...
使用Python操作excel单元格——获取带公式单元格的值
一、前言 通过使用Python的openpyxl库,来操作excel单元格,获取带公式的单元格中的值。 把学习的过程分享给大家。大佬勿喷! 二、程序展示 1、表格准备 使用前面创建过的表格,获取B6单元格的求和值。 2、获取表格的值 wb o…...
PHP开发入门
PHP官网:PHP: Hypertext Preprocessor apache官网:https://httpd.apache.org/ 一、搭建PHP环境 下载apache 进入官网点击download 选择下载windows版本文件 点击进入下载界面 点击下载64位版本文件 下载后解压文件 解压文件后进入 D:\httpd-2.4.59-24…...
HBase分布式数据库入门到精通
文章目录 HBase分布式数据库入门到精通 一、简单介绍 二、HBase数据模型 三、HBase的架构 四、HBase写操作流程 五、HBase读操作流程 六、HBase minor小合并和major大合并 七、HBase目标表meta表 八、HBase特点 九、HBase的使用场景 HBase分布式数据库入门到精通 一、…...
Java程序员必备技能之MySQL数据库 图解整理/快速入门
恭喜大家来到全新的篇章——MySQL数据库,这一篇我们将学会MySQL数据库的原理、使用sql对数据库的增删改查操作、以及对MySQL数据库的权限管理和用户管理等内容。请大家耐心看下去,相信大家在看完这篇文章后,一定可以学会MySQL数据库(不会Java也可以学会!)。 ps:想要补充…...
效果炸裂!使用 GPT-4o 快速实现LLM OS
使用 GPT-4o 快速实现LLM OS 什么是 LLM OS?LLM OS 主要有以下5个部分组成: LLM OS 开源实现运行 LLM OS 开源实现 什么是 LLM OS? 关于 LLM OS 的最初构想源自karpathy 在2023年11月11日发布的一条Twitter 动态,这是 LLM OS 概念…...
杀死那个进程
一、场景 eclipse在启动tomcat时,出现端口被占用的情况。我寻思着“任务管理器”没出现相应程序在跑啊。 1.1问题:端口和进程的关系 端口和进程之间存在着一种关系,端口是一个逻辑概念,它用于标识网络通信中的一个终点࿰…...
【vue与iframe通讯】
vue 与 iframe 通讯 发送数据vue 向 iframe 发送数据iframe 向 vue 发送数据接收信息( vue & iframe 通用) 实现相互通讯通讯流程图实现代码vue 页面iframe页面iframe 内部重定向访问地址,更新 vue 路由 访问跨域代码下载 前言:vue嵌套iframe实现步骤 发送数据…...
【Python-openslide】openslide.open_slide()
作用: 打开图片 wsi openslide.open_slide(path)注: path: 图片所在路径,需要具体到图片名称(包含扩展名) 我的实验中采用的是svs格式的图像...
推荐系统学习笔记(三)
swing召回通道 Q:假如重合的用户是一个小圈子:在一个群里,毫无关联的笔记也会被同时交互 solve:降低小圈子权重--------------swing的主要目的------------给用户加权 相似度: a是人工参数,overlap降低小…...
521源码-免费游戏源码下载-闯梦江湖Q萌复古全网通手游服务端H5全攻略
闯梦江湖H5:Q萌复古全网通手游服务端全攻略 一、概述 闯梦江湖H5 是一款结合Q萌画风与复古情怀的全网通H5手游。我们为您提供了最新打包的Windows服务端,并附带了通用视频架设教程和GM网页授权后台工具,让您轻松搭建并管理自己的游戏世界。 …...
【Zotero】【MacOS】Zotero6常用插件总结
因为目前MacOS只支持Zotero6,所以我将网上找到的教程以及自己找到适应Zotero6版本的插件做了个整合 教程地址:Zotero6安装/插件安装教程 插件地址:Zotero6_Plugs...
具有固定宽度的盒子:\makebox, \parbox
makebox \makebox 是 LaTeX 中的一个命令,用于创建一个具有固定宽度的盒子,并在该盒子内放置内容。这个命令可以用于控制文本或对象的位置和对齐。 语法如下: \makebox[<width>][<alignment>]{<content>}其中࿱…...
中央网信办等四部门发布《互联网政务应用安全管理规定》
互联网政务应用安全管理规定 (2024年2月19日中央网络安全和信息化委员会办公室、中央机构编制委员会办公室、工业和信息化部、公安部制定 2024年5月15日发布) 第一章 总则 第一条 为保障互联网政务应用安全,根据《中华人民共和国网络安全法…...
国产性能怪兽——香橙派AI Pro(8T)上手体验报告以及性能评测
目录 1、引言2、性能参数3、开箱体验4、实际使用5、性能比较总结参考文章 1、引言 第一次接触香橙派的开发板,之前使用过Arduino、树莓派3B、树莓派4B,STM32,51单片机,没有想到国产品牌性能一样强劲,使用起来也是很方便…...
适用于 Windows 7/8/10/11 的 6 款最佳免费分区软件
分区软件程序旨在帮助您创建、缩小、删除、扩展、合并或拆分硬盘和其他存储设备的分区。虽然可以在 Windows 中对硬盘进行分区而无需使用其他软件,但您可以执行的活动范围有限。例如,如果没有外部工具,您无法调整分区大小或合并分区。在这篇文…...
Java 语言特性(面试系列2)
一、SQL 基础 1. 复杂查询 (1)连接查询(JOIN) 内连接(INNER JOIN):返回两表匹配的记录。 SELECT e.name, d.dept_name FROM employees e INNER JOIN departments d ON e.dept_id d.dept_id; 左…...
地震勘探——干扰波识别、井中地震时距曲线特点
目录 干扰波识别反射波地震勘探的干扰波 井中地震时距曲线特点 干扰波识别 有效波:可以用来解决所提出的地质任务的波;干扰波:所有妨碍辨认、追踪有效波的其他波。 地震勘探中,有效波和干扰波是相对的。例如,在反射波…...
java_网络服务相关_gateway_nacos_feign区别联系
1. spring-cloud-starter-gateway 作用:作为微服务架构的网关,统一入口,处理所有外部请求。 核心能力: 路由转发(基于路径、服务名等)过滤器(鉴权、限流、日志、Header 处理)支持负…...
进程地址空间(比特课总结)
一、进程地址空间 1. 环境变量 1 )⽤户级环境变量与系统级环境变量 全局属性:环境变量具有全局属性,会被⼦进程继承。例如当bash启动⼦进程时,环 境变量会⾃动传递给⼦进程。 本地变量限制:本地变量只在当前进程(ba…...
微软PowerBI考试 PL300-选择 Power BI 模型框架【附练习数据】
微软PowerBI考试 PL300-选择 Power BI 模型框架 20 多年来,Microsoft 持续对企业商业智能 (BI) 进行大量投资。 Azure Analysis Services (AAS) 和 SQL Server Analysis Services (SSAS) 基于无数企业使用的成熟的 BI 数据建模技术。 同样的技术也是 Power BI 数据…...
基于matlab策略迭代和值迭代法的动态规划
经典的基于策略迭代和值迭代法的动态规划matlab代码,实现机器人的最优运输 Dynamic-Programming-master/Environment.pdf , 104724 Dynamic-Programming-master/README.md , 506 Dynamic-Programming-master/generalizedPolicyIteration.m , 1970 Dynamic-Programm…...
Springboot社区养老保险系统小程序
一、前言 随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱,社区养老保险系统小程序被用户普遍使用,为方…...
Java求职者面试指南:Spring、Spring Boot、MyBatis框架与计算机基础问题解析
Java求职者面试指南:Spring、Spring Boot、MyBatis框架与计算机基础问题解析 一、第一轮提问(基础概念问题) 1. 请解释Spring框架的核心容器是什么?它在Spring中起到什么作用? Spring框架的核心容器是IoC容器&#…...
20个超级好用的 CSS 动画库
分享 20 个最佳 CSS 动画库。 它们中的大多数将生成纯 CSS 代码,而不需要任何外部库。 1.Animate.css 一个开箱即用型的跨浏览器动画库,可供你在项目中使用。 2.Magic Animations CSS3 一组简单的动画,可以包含在你的网页或应用项目中。 3.An…...
MFC 抛体运动模拟:常见问题解决与界面美化
在 MFC 中开发抛体运动模拟程序时,我们常遇到 轨迹残留、无效刷新、视觉单调、物理逻辑瑕疵 等问题。本文将针对这些痛点,详细解析原因并提供解决方案,同时兼顾界面美化,让模拟效果更专业、更高效。 问题一:历史轨迹与小球残影残留 现象 小球运动后,历史位置的 “残影”…...
