C++ bitset的简单使用示例
bitset 一般代替 bool 数组使用,常用于优化空间,因为 bitset 中一个元素只占 1 bit。
bitset 的大小在定义使就需要确定。如果想要不定长的 bitset,就需要使用 vector。
bitset 的定义:
bitset<16> bt; // 定义大小为16的bitset,每一位都是0 bitset<16> bt(string("11001")); // 定义大小为16的bitset,并用string初始化,注意高位为0,也就是 0000000000011001
bitset 可以直接使用 cin 和 cout 输入输出
bitset<16> bt; cin >> bt; cout << bt << endl;
bitset 可以像数组一样访问或修改某一位置的元素,注意0表示低位。
bitset<8> bt; bt[0] = 1; // 00000001
bitset 也可以像一个数一样进行位运算:与(&)、或(|)、异或(^)、取反(~)、左移(<<)、右移(>>)。
常用函数:
bitset<8> bt; bt.size(); // 返回大小 bt.count(); // 返回1的个数 bt.set(); // 全部置1 bt.set(pos); // pos位置1 bt.reset(); // 全部置0 bt.reset(pos); // pos位置0 bt.flip(); // 全部取反 bt.flip(pos); // pos位取反
以上就是C++ bitset的简单使用示例的详细内容,更多关于C++ bitset的资料请关注我们其它相关文章!
相关推荐
-
C++标准库bitset类型的简单使用方法介绍
std::bitset是STL的一部分,准确地说,std::bitset是一个模板类,它的模板参数不是类型,而整形的数值(这一特性是ISO C++2003的新特性),有了它我们可以像使用数组一样使用位. #include<bister> using std::bitset; 一句话定义:可自定义位数,用作记录二进制的数据类型. 一,定义和初始化 bitset<n> b; //b有n位,每位都为0; bitset<n>
-
简单谈谈C++ 头文件系列之(bitset)
简介 该头文件有关位集,实际上是vector 位 位本质上对应bool的概念,只有0或1,true或false两种对立的值. 但很可惜,字节才是机器上最小的存储单元,所以bool基本上是由一个字节大小. bitset是出于高效的空间利用为目的才出现的. 位操作 operator [] : 通过下标访问bit. count : 计数位值为1的位个数. size : 返回位的大小,即有多少个位. test : 测试下标指向的位值是否为1. any : 判断是否有任何一个位值为1. none : 判断
-
详解C++ bitset用法
C++的 bitset 在 bitset 头文件中,它是一种类似数组的结构,它的每一个元素只能是0或1,每个元素仅用1bit空间. 下面是具体用法 构造函数 bitset常用构造函数有四种,如下 bitset<4> bitset1; //无参构造,长度为4,默认每一位为0 bitset<8> bitset2(12); //长度为8,二进制保存,前面用0补充 string s = "100101"; bitset<10> bitset3(s); //长
-
基于C++ bitset常用函数及运算符(详解)
C++ bitset--高端压位卡常题必备STL ------------------------------------------------------------ 以下内容翻译自cplusplus.com,极大地锻炼了我的英语能力. bitset存储二进制数位. bitset就像一个bool类型的数组一样,但是有空间优化--bitset中的一个元素一般只占1 bit,相当于一个char元素所占空间的八分之一. bitset中的每个元素都能单独被访问,例如对于一个叫做foo的bitset,
-
C++ bitset的简单使用示例
bitset 一般代替 bool 数组使用,常用于优化空间,因为 bitset 中一个元素只占 1 bit. bitset 的大小在定义使就需要确定.如果想要不定长的 bitset,就需要使用 vector. bitset 的定义: bitset<16> bt; // 定义大小为16的bitset,每一位都是0 bitset<16> bt(string("11001")); // 定义大小为16的bitset,并用string初始化,注意高位为0,也就是 000
-
JSP实现的简单分页示例
本文实例讲述了JSP实现的简单分页示例.分享给大家供大家参考,具体如下: <%@ page language="java" import="java.util.*" contentType="text/html; charset=gbk"%> <%@ page import="com.yx.page.db.*"%> <%@ page import="java.sql.*" %&
-
jQuery简单入门示例之用户校验demo示例
本文实例讲述了jQuery简单入门示例之用户校验.分享给大家供大家参考,具体如下: jQuery在小编的世界中,也就是JavaScript和查询(Query),即是辅助JavaScript开发的库,百度百科对JQuery的介绍比较详细,小伙伴可以东东自己可耐的小爪子,上网进行搜索,说不定,有意外惊喜哦,今天这篇文章,小编简单的介绍一下JQuery的一些基本知识,然后小编在集合实例,讲解一下在具体的应用过程中,我们的JQuery又是如何在她的舞台熠熠生辉...... 通过JQuery的学习,我们可
-
js数字滑动时钟的简单实现(示例讲解)
废话不多说,直接上代码 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <style type="text/css"> body,ul{margin:0;padding: 0;} .content{margin:100px auto;wid
-
Android编程之View简单学习示例
本文实例讲述了Android编程之View简单学习示例.分享给大家供大家参考,具体如下: View,是Android的一个超类,这个类几乎包含了所有的屏幕类型.每一个View都有一个用于绘图的画布,这个画布可以进行任意扩展. 在游戏开发中叶可以自定义视图(View),这个画布的功能更能满足我们在游戏开发中的需要.在Android中,任何一个View类都只需重写onDraw 方法来实现界面显示,自定义的视图可以是复杂的3D实现,也可以是非常简单的文本形式等. 游戏的核心是不断地绘图和刷新界面,An
-
Java Spring开发环境搭建及简单入门示例教程
本文实例讲述了Java Spring开发环境搭建及简单入门示例.分享给大家供大家参考,具体如下: 前言 虽然之前用过Spring,但是今天试着去搭建依然遇到了困难,而且上网找教程,很多写的是在web里使用Spring MVC的示例,官方文档里的getting start一开始就讲原理去了(可能打开的方法不对).没办法,好不容易实验成功了,记下来免得自己以后麻烦. 添加依赖包 进入spring官网,切换到projects下点击 spring framework.官网上写的是以maven依赖的形式写
-
Java编程异常简单代码示例
练习1 写一个方法void triangle(int a,int b,int c),判断三个参数是否能构成一个三角形.如果不能则抛出异常IllegalArgumentException,显示异常信息:a,b,c "不能构成三角形":如果可以构成则显示三角形三个边长.在主方法中得到命令行输入的三个整数,调用此方法,并捕获异常. 两边之和大于第三边:a+b>c 两边之差小于第三边:c-a package 异常; import java.util.Arrays; import java
-
Python实现读取txt文件并画三维图简单代码示例
记忆力差的孩子得勤做笔记! 刚接触python,最近又需要画一个三维图,然后就找了一大堆资料,看的人头昏脑胀的,今天终于解决了!好了,废话不多说,直接上代码! #由三个一维坐标画三维散点 #coding:utf-8 import numpy as np import matplotlib.pyplot as plt from mpl_toolkits.mplot3d.axes3d import Axes3D x = [] y = [] z = [] f = open("data\\record.
-
利用numpy实现一、二维数组的拼接简单代码示例
一维数组 1.numpy初始化一维数组 a = np.array([1,2,3]); print a.shape 输出的值应该为(3,) 二维数组 2.numpy初始化二维数组 a = np.array([[1,2,3]]); b = np.array([[1],[2],[3]]); print a.shape//(1,3) print b.shape//(3,1) 注意(3,)和(3,1)的数组是不一样的,前者是一维数组,后者是二维数组. 拼接 3.numpy有很多的拼接函数.比如hstack
-
python matplotlib 注释文本箭头简单代码示例
注释文本箭头 结果展示: 完整代码示例: import numpy as np import matplotlib.pyplot as plt fig, ax = plt.subplots(figsize=(5, 5)) ax.set_aspect(1) x1 = -1 + np.random.randn(100) y1 = -1 + np.random.randn(100) x2 = 1. + np.random.randn(100) y2 = 1. + np.random.randn(100
随机推荐
- PERL 正则表达式详细说明
- 将军殿脚本代码(道士)
- jQuery回到顶部的代码
- 星外系统IIS日志分析常用的几个命令小结
- 详解iOS应用程序内购/内付费(一)
- C#利用ODP.net连接Oracle数据库的操作方法
- Nginx中虚拟主机与指定访问路径的设置方法讲解
- ASP.NET笔记之Calender的使用说明
- Python实现包含min函数的栈
- 使用Python编写一个在Linux下实现截图分享的脚本的教程
- js之onload事件的一点使用心得
- 通过实例简单讲解Android App中的Activity组件
- Redis数据库的安装配置方法
- javascript 图片放大缩小功能实现代码
- 第七篇Bootstrap表单布局实例代码详解(三种表单布局)
- WinRAR 任务计划 免费定时备份
- c++查询最短路径示例
- docker常用命令操作方法
- MYSQL 完全备份、主从复制、级联复制、半同步小结
- 一行命令同时修改maven项目中多个module的版本号的方法