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

C/C++中变量按位操作

一、按位写入1

uint32_t writeBit (1 << 5)      // 第5位的掩码
uint32_t value = 0x12341234;
// 设置第5位为1
value |= writeBit;

原理就是原值与掩码… 00010000进行按位相与,与0相交的位还是等于原来的值,与1相交的位则变为1。

二、按位写入0

uint32_t writeBit (0 << 5)      // 第5位的掩码
uint32_t value = 0x12341234;
// 设置第5位为1
value &= ~writeBit;

原理就是按位取反相交,掩码… 00010000取反后为…11101111,按位相交,与为1的位相交保持原值,与为0的位相交为0。

三、按位读

uint32_t readBit (0 << 5)      // 第5位的掩码
uint32_t value = 0x12341234;
// 设置第5位为1
bool readvalue = (value & readBit) != 0;
http://www.lryc.cn/news/110057.html

相关文章:

  • uni、css——制作表格样式的模型
  • mac前端代码编辑 Sublime Text 4 Dev 中文v4.0(4151)
  • 面试之HashMap
  • promethues mysql-rules
  • Maven项目中Lifecycle和Plugins下的install的区别
  • 02-状态模式
  • Python异常处理中异常的种类有哪些?你知道几个?
  • COBOL语言介绍及使用场景
  • 【计算机视觉 | 图像分割】arxiv 计算机视觉关于图像分割的学术速递(8 月 1 日论文合集)
  • Jetson nano 安装swapfile 解决Cannot allocate memory 问题
  • ElasticsSearch基础概念和安装
  • 【GEMM预备工作】行主序和列主序矩阵的内存中的连续性,解决理解问题
  • 利用el-button 画圆 ,通过border-radius >50% 就成圆形
  • 在tensorflow分布式训练过程中突然终止(终止)
  • windows永久暂停更新
  • Android 9系统源码_音频管理(一)按键音效源码解析
  • PyTorch搭建神经网络
  • TiDB 优雅关闭
  • 食品厂能源管理系统助力节能减排,提升可持续发展
  • ABAP读取文本函数效率优化,read_text --->zread_text
  • Spring Data Repository 使用详解
  • [ MySQL ] — 数据库环境安装、概念和基本使用
  • Apache Thrift C++库的TThreadPoolServer模式的完整示例
  • 图解java.util.concurrent并发包源码系列——深入理解ReentrantLock,看完可以吊打面试官
  • 【计算机网络】网络基础(上)
  • 51单片机(普中HC6800-EM3 V3.0)实验例程软件分析 实验四 蜂鸣器
  • 无向图-已知根节点求高度
  • RIP动态路由协议 (已过时,逐渐退出舞台)
  • C++ operator关键字的使用(重载运算符、仿函数、类型转换操作符)
  • 深度学习笔记-暂退法(Drop out)