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

相关推荐
折哥的程序人生 · 物流技术专研16 小时前
Java面试85题图解版 · 特别篇:2026后端高频面试题复盘(算法底层逻辑+高并发架构设计全解析,附Java实战代码)
java·网络·数据库·算法·面试
玖玥拾17 小时前
C/C++ 基础笔记(十四)多态与模板编程
c语言·c++·多态·模板
想吃火锅100517 小时前
【leetcode】14.最长公共前缀js
算法·leetcode·职场和发展
云絮.18 小时前
数据库操作
数据库·mysql·算法·oracle
小林ixn18 小时前
LeetCode 206. 反转链表(迭代 + 递归详解)
算法·leetcode·链表
凡人叶枫19 小时前
Effective C++ 条款17:以独立语句将 newed 对象置入智能指针
java·linux·开发语言·c++·算法
菜鸟‍20 小时前
LeetCode 1 27 和 704 || 两数之和 移除元素 二分查找
算法·leetcode·职场和发展
caimouse21 小时前
Reactos 第1章 概述
c语言·开发语言·架构
退休倒计时21 小时前
【每日一题】LeetCode 142. 环形链表 II TypeScript
算法·leetcode·链表·typescript
啊森要自信21 小时前
【GUI自动化测试】控件、鼠标键盘操作与多场景自动化
c语言·开发语言·python·adb·ipython