C++笔记之使用bitset对uint32_t类型变量对位状态判断
C++笔记之使用bitset对uint32_t类型变量对位状态判断
code review!
文章目录
- C++笔记之使用bitset对uint32_t类型变量对位状态判断
- 学习目标
- 1. 实际应用场景
- 2. uint32_t 在位标志存储中的应用
- 2.1 uint32_t 定义与特性
- 2.2 uint32_t 核心特点
- 2.3 uint32_t 的实际应用
- 3. std::bitset 详解
- 3.1 std::bitset 基本概念
- 3.2 std::bitset 主要特性
- 3.3 std::bitset 常用操作详解
- 3.3.1 基本位操作
- 3.3.2 test() 方法详解
- 3.3.3 其他实用方法
- 4. 完整实现代码
- 4.1 头文件包含
- 4.2 使用 if 语句的实现
- 4.3 封装为函数的实现
- 5. 代码执行分析
- 5.1 示例值分析
- 5.2 不同值的测试结果
- 6. 传统位操作对比
- 6.1 传统位操作方法
- 6.2 三种方法详细对比
- 7. 高级应用示例
- 7.1 批量位检查
- 7.2 位操作实用工具
- 8. 学习要点总结
- 8.1 uint32_t 学习要点
- 8.2 std::bitset 学习要点
- 8.3 test() 方法要点
学习目标
通过一个实际的位标志检查场景,深入学习以下两个 C++ 核心概念:
- uint32_t:32位无符号整数类型在标志位存储中的应用
- std::bitset:位序列容器在状态判断中的高效使用
1. 实际应用场景
在嵌入式系统、硬件控制、网络协议等场景中,经常需要检查特定位的状态来判断系统状态或配置。
本例模拟一个典型的位标志检查场景:
- 检查 uint32_t 状态寄存器的特定位(bit4 和 bit5)
- 根据位的状态执行相应的处理逻辑:
- 如果 bit4 为 0,执行操作 A(打印 123);如果 bit4 为 1,执行操作 B(打印 45