[C++ 学习] C++ Primer 笔记 bitset 和 位操作
来源:互联网 发布:centos7 pdo mysql 编辑:程序博客网 时间:2024/06/06 09:12
看了 c++ primer 关于位操作的章节,记录一些自己的理解.
位操作需要针对 unsigned 类型的数 进行操作.
对 负数进行位操作,会依赖机器不同而结果不同,应该避免.
位操作需要针对 unsigned 类型的数 进行操作,
所以能够操作的位数会受到 这个 unsigned类型的数据的 位数限制.
bitset可以操作任意多位,不收类型的 位数限制.
对比 bitset 和 位操作符 的几个经典的使用情况:
1. 初始化 // initialize as 0
bistset<30> bitset_quiz;
unsigned long int_quiz = 0;
2. 置位 // set the 27 bit as 1
biset_quiz.set(27);
int_quiz |= 1UL << 27;
3.复位 // set the 27 bit as 0
int_quiz &= ~(1UL << 27);
4.取值 // get the value of 27 bit
bool status;
status = bitset_quiz[27];
status = status & (1UL << 27);
上面的位操作例子都是书上的,看的时候觉得挺简单,
但是自己合上书写一遍,还真得稍微动动脑筋.
虽然书上强力推荐使用 bitset 更加简单.
但是我觉得熟练掌握 位操作的思想,应该是每个程序元所必备的.
记得 windows sdk 在绘制背景透明的位图的时候,就需要熟悉这个知识点.
- c++primer bitset 学习笔记
- [C++ 学习] C++ Primer 笔记 bitset 和 位操作
- c++primer学习笔记(3.5)标准库bitset类型
- C++ Primer 学习笔记(2): bitset操作
- C++primer 3.5标准库bitset类型(5.3 位操作符)
- C++ Primer 学习笔记:bitset和size_t
- C++PRIMER学习笔记
- c++primer学习笔记
- c++primer学习笔记
- C++primer学习笔记
- c++primer 学习笔记
- C++Primer 学习笔记
- c++primer学习笔记
- C++Primer学习笔记
- C++PRIMER 学习笔记
- C++Primer学习笔记
- C++Primer学习笔记
- C++Primer学习笔记
- 第八周任务1-3
- JAVA与.NET DES加密解密
- 随机抽样一致-RANSAC
- xdos攻击ac实验环境
- 第8周实验报告任务一
- [C++ 学习] C++ Primer 笔记 bitset 和 位操作
- 第八周实验报告 任务四
- 第八周实验报告任务3 实现分数类中的运算符重载,在分数类中可以完成分数的加减乘除,求反,比较6种关系的运算。
- 第八周实验报告二
- 排错:打开资源出现RC2104
- 有空闲下来多读点书
- 第八周任务1
- 第八周实验报告(1)
- SQLServer 2008 对视图或函数’XXX’的更新或插入失败,因其包含派生域或常量域解决