文章参考微信公众号[嵌入式软件学习圈]

二、位操作

2.1 ~(0u)是全1;

2.2 位与& 位或 | 位取反~ 位异或^

2.3、位与、位或、位异或的特点总结

位与:(任何数,其实就是1或者0)与1位与无变化,与0位与变成0
位或:(任何数,其实就是1或者0)与1位或变成1,与0位或无变化
位异或:(任何数,其实就是1或者0)与1位异或会取反,与0位异或无变化

2.4、左移位<< 与右移位>>
C语言的移位要取决于数据类型。
对于无符号数,左移时右侧补0(相当于逻辑移位)
对于无符号数,右移时左侧补0(相当于逻辑移位)
对于有符号数,左移时右侧补0(叫算术移位,相当于逻辑移位)
对于有符号数,右移时左侧补符号位(如果正数就补0,负数就补1,叫算术移位)

2.5、小记:常与 1 拿来 做位运算。让他取反、移位 得到想要的数。

2.6、直接用宏来置位、复位(最右边为第1位)。 置位置1,复位置0 ;

define SET_NTH_BIT(x, n) (x | ((1U)<<(n-1)))
define CLEAR_NTH_BIT(x, n) (x & ~((1U)<<(n-1)))

往期热文:
基础C语言知识串串香(1)

基础C语言知识串串香(2)

基础C语言知识串串香(3)

基础C语言知识串串香(4)

基础C语言知识串串香(5)

基础C语言知识串串香(6)


===========我是华丽的分割线===========


更多知识:
点击关注专题:嵌入式Linux&ARM

或浏览器打开:https://www.jianshu.com/c/42d33cadb1c1

或扫描二维码:

基础C语言知识串串香7☞位操作相关推荐

  1. 基础C语言知识串串香10☞数组字符串结构体联合体枚举

    五.数组&字符串&结构体&联合体&枚举 5.1.c语言中定义一个字符串:char a[6]={'l','i','n','u','x','\0'};'\0'的字符编码为0 ...

  2. 基础C语言知识串串香14☞增补知识

    十.增补知识 10.1.一个字节可以表示8位字符,字符真的有256种,128~255表示西欧字符,是不常见,详情见文档.字符相加的时候,会自动转成int型加. 10.2.在C中,默认的基础数据类型均为 ...

  3. 【STM32】位操作、按位与、按位或、按位异或、取反、左移、右移等基础 C 语言知识补充

    文章目录 1 位操作 1.1 按位与 1.2 按位或 1.3 按位异或 1.4 取反 1.5 左移 1.6 右移 2 单片机中常用操作 2.1 不改变其他位时,对某几个位设定值 2.2 移位操作提高代 ...

  4. c语言移动通信功率计算,《移动通信软件编程基础—C语言》第3章_运算符.ppt

    <移动通信软件编程基础-C语言>第3章_运算符.ppt 移动通信软件编程基础 C语言,知识回顾3,运算符,第,章,本章目标理解表达式,掌握赋值运算符和赋值表达式,掌握关系运算符和关系表达式 ...

  5. C语言基础-部分基础理论知识汇总

    C语言基础-部分理论知识汇总 本文为C语音部分理论知识汇总,主要包含:C语言的特点与程序结构 .基本数据类型.运算符和表达式.基本语句与顺序结构等内容. 本文为个人学习笔记整理,偏向理论知识介绍,具体 ...

  6. 1,Java语言基础-Java语言概述和必要计算机知识

    Java语言基础 Java语言概述 1,Java语言发展史 Java语言本质 Java是面向对象的高级语言,它是由c和c++发展而来. Java发展语言历史概述 Java 是由 James Gosli ...

  7. 2,Java语言基础-Java语言基本程序设计知识

    Java语言基础 Java语言基本程序设计知识 1,JavaAPI概述 1.1,什么是API API是指应用程序接口( Application Program Interface, API),故名思意 ...

  8. c语言基础知识竞赛策划案,省二级计算机C语言知识竞赛.doc

    省二级计算机C语言知识竞赛.doc 省二级计算机C语言知识竞赛(初赛题)出卷人胡飞 考试时间90分钟 试卷分数100分一.选择题.(30分,1-20题每题1分,21-25题每题2分)123456789 ...

  9. R开发(part1)--R语言知识体系结构

    学习笔记,仅供参考,有错必纠 参考自:<R的极客理想>-- 张丹 R开发 R语言知识体系结构 R简介 R语言是一门统计语言,主要用于数学建模.统计计算.数据处理.可视化等几个方向,R语言天 ...

最新文章

  1. Linux系统如何安装AutoFs挂载服务
  2. 2010.12.14 关于decimal和Numeric类型
  3. 对请求并发数做限制的通用RequestDecorator
  4. 同意按钮,倒计时10秒,同意按钮变为可提交的
  5. 获取SQL命令字符串中的参数名列表
  6. 如何优雅的统计代码耗时,快速知道你的程序慢在哪里!
  7. 驾考通专业版2011
  8. 高评分防火墙GlassWire:帮你监控、追踪和提升电脑安全
  9. 自下而上分析法基本问题
  10. SSH 免密码/免用户名/免IP登录云服务器
  11. 【大数据部落】用R挖掘Twitter数据
  12. 笛卡尔心形函数表达式_如何用几何画板画笛卡尔心形函数
  13. php计算运费价格,PHP: UPS API, UPS 运费计算, UPS接口
  14. 五万美元的年薪是如何花光的
  15. 【HR面试100问】一篇文章根治各种HR面的套路问题,文章给出参考答案~持续更新
  16. 如何做字幕?用语音识别生成字幕?
  17. Matlab——简单命令的执行
  18. RB-tree性质理解
  19. python中namedtuple函数用法详解
  20. JVM概览:内存空间与数据存储

热门文章

  1. 莱维飞行matlab作图,通俗易懂的布谷鸟算法与莱维飞行,(附求解函数最小值matlab源码)-Go语言中文社区...
  2. 信息系统项目管理师Part1-信息化与信息系统
  3. 用python爬荣耀皮肤图片(爬虫最基础题,python爬虫教程,超详细+完整代码)
  4. CSS带箭头的提示框实现
  5. U7 Ubuntu系统的U盘启动与安装-孙宇彤-专题视频课程
  6. 服务器 mac系统安装教程,mac os sierra安装教程
  7. 一加手机如何拷贝公交卡_一加手机5如何使用当公交卡,用NFC刷深圳通
  8. 开源文档管理系统LetoDMS的安装和汉化
  9. 乌克兰国民卫队中发生枪击案 已致5人死亡
  10. 24bit真彩色 32bit真彩色