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

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
http://www.xdnf.cn/news/14956.html

相关文章:

  • Spring Cloud 企业项目技术选型
  • 华为泰山服务器重启后出现 XFS 文件系统磁盘“不识别”(无法挂载或访问),但挂载点目录仍在且无数据
  • 分布式接口幂等性的演进和最佳实践,含springBoot 实现(Java版本)
  • 前端规范化设计详解
  • JavaScript基础篇——第一章 JavaScript基础的认识
  • 《Java 反射全攻略1》
  • 【读代码】GLM-4.1V-Thinking:开源多模态推理模型的创新实践
  • 开源 python 应用 开发(四)python文件和系统综合应用
  • linux wsl2 docker 镜像复用快速方法
  • 分布式理论:CAP、Base理论
  • 无重叠区间问题
  • HDLBits刷题笔记和一些拓展知识(十一)
  • git-安装 Gerrit Hook 自动生成changeid
  • Java-Collections、Map
  • 力扣-136.只出现一次的数字
  • C语言宏替换比较练习
  • .NET9 实现对象深拷贝和浅拷贝的性能测试
  • C#使用Semantic Kernel实现Embedding功能
  • 自动化一次通过率
  • LLM探索的时代
  • 【web安全】SQLMap 参数深度解析:--risk 与 --level 详解
  • leetcode202.快乐数
  • 【数据结构】复杂度分析
  • 【王树森推荐系统】召回11:地理位置召回、作者召回、缓存召回
  • LeetCode 1248.统计优美子数组
  • Coze智能体工作流:1分钟生成10个儿童卡通童话故事视频,无需剪辑
  • 一天一道Sql题(day02)
  • 单机分布式一体化数据库的架构设计与优化
  • Android Handler机制与底层原理详解
  • 【芯片测试篇】:93K测试机I2C的设置和调试