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

相关推荐
张辰宇-11 小时前
AcWing 5 多重背包问题 II
算法
聆风吟º11 小时前
【C标准库】深入理解 C 语言memmove函数:安全内存拷贝的利器
c语言·开发语言·memmove·库函数
小则又沐风a11 小时前
类和对象(C++)---上
java·c++·算法
季明洵11 小时前
动态规划及背包问题
java·数据结构·算法·动态规划·背包问题
busideyang11 小时前
函数指针类型定义笔记
c语言·笔记·stm32·单片机·算法·嵌入式
Wect11 小时前
LeetCode 215. 数组中的第K个最大元素:大根堆解法详解
前端·算法·typescript
深邃-11 小时前
数据结构-双向链表
c语言·开发语言·数据结构·c++·算法·链表·html5
2401_8785302111 小时前
分布式任务调度系统
开发语言·c++·算法
艾莉丝努力练剑11 小时前
【Linux:文件】文件基础IO进阶
linux·运维·服务器·c语言·网络·c++·centos
_深海凉_11 小时前
LeetCode热题100-两数之和
算法·leetcode·职场和发展