C语言例3-30:位逻辑运算的应用例子

位逻辑运算的应用例子

设

复制代码
char c1=0x12, c2=0xFF, c3=0x0F;
  • c1 为十六进制整数,对应的二进制数是0001 0010 。
  • c2 为十六进制整数,对应的二进制数是1111 1111 。
  • c3 为十六进制整数,对应的二进制数是0000 1111 。

任何数与0xFF进行按位与的运算结果是数本身。

任何数与0xFF进行按位或的运算结果是0xFF。

  1. 表达式 c1 & c2

运算结果等于c1

0001 0010

++& 1111 1111++

0001 0010

  1. 表达式 c1 | c2

运算结果等于0xFF

0001 0010

++| 1111 1111++

1111 1111

  1. 表达式 c1 ^ c2

运算结果是~c1(取反)

0001 0010

++^ 1111 1111++

1110 1101

  1. 表达式 c1 & c3

运算结果,c1高4位为0,低4位不变

0001 0010

++& 0000 1111++

0000 0010

  1. 表达式 c1 | c3

运算结果,c1高4位不变,低4位均为1

0001 0010

++| 0000 1111++

0001 1111

  1. 表达式 c1 ^ c3

运算结果,c1高4位不变,低4位取反

0001 0010

++^ 0000 1111++

0001 1101

相关推荐
zhangfeng11333 小时前
qjlDim 含义 TurboQuant QJL Quantized Johnson-Lindenstrauss,量化JL随机投影
人工智能·算法·ai编程·npu
HwJack203 小时前
【HarmonyOS开发小实践】HarmonyOS GC 引用计数 vs 对象追踪,三种回收算法
jvm·算法·harmonyos
blxr_3 小时前
力扣hot100前k个高频元素https://leetcode.cn/problems/top-k-frequent-elements/
算法·leetcode·职场和发展
longlongzihan13 小时前
LeetCode 17电话号码的字母组合:回溯算法(DFS)详解
c++·算法·leetcode·深度优先
封印师请假去地球钓鱼13 小时前
边解边变的问题:从“决策依赖“一词出发
人工智能·算法
今晚打老虎14 小时前
c++之提高A(前缀和)(第三课)
数据结构·c++·算法
不会就选b15 小时前
算法日常・每日刷题--<贪心>26
数据结构·算法
铅笔小新z16 小时前
【C语言】操作符
c语言
hetao173383716 小时前
2026-09-29 hetao1733837 的刷题记录
c++·算法
by2099917 小时前
从 malloc/free 到 new/delete:真正理解 C++ 中的内存管理与对象生命周期
c语言·c++·经验分享·动态内存管理