基础C语言知识串串香7☞位操作
文章参考微信公众号[嵌入式软件学习圈]
二、位操作
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☞位操作相关推荐
- 基础C语言知识串串香10☞数组字符串结构体联合体枚举
五.数组&字符串&结构体&联合体&枚举 5.1.c语言中定义一个字符串:char a[6]={'l','i','n','u','x','\0'};'\0'的字符编码为0 ...
- 基础C语言知识串串香14☞增补知识
十.增补知识 10.1.一个字节可以表示8位字符,字符真的有256种,128~255表示西欧字符,是不常见,详情见文档.字符相加的时候,会自动转成int型加. 10.2.在C中,默认的基础数据类型均为 ...
- 【STM32】位操作、按位与、按位或、按位异或、取反、左移、右移等基础 C 语言知识补充
文章目录 1 位操作 1.1 按位与 1.2 按位或 1.3 按位异或 1.4 取反 1.5 左移 1.6 右移 2 单片机中常用操作 2.1 不改变其他位时,对某几个位设定值 2.2 移位操作提高代 ...
- c语言移动通信功率计算,《移动通信软件编程基础—C语言》第3章_运算符.ppt
<移动通信软件编程基础-C语言>第3章_运算符.ppt 移动通信软件编程基础 C语言,知识回顾3,运算符,第,章,本章目标理解表达式,掌握赋值运算符和赋值表达式,掌握关系运算符和关系表达式 ...
- C语言基础-部分基础理论知识汇总
C语言基础-部分理论知识汇总 本文为C语音部分理论知识汇总,主要包含:C语言的特点与程序结构 .基本数据类型.运算符和表达式.基本语句与顺序结构等内容. 本文为个人学习笔记整理,偏向理论知识介绍,具体 ...
- 1,Java语言基础-Java语言概述和必要计算机知识
Java语言基础 Java语言概述 1,Java语言发展史 Java语言本质 Java是面向对象的高级语言,它是由c和c++发展而来. Java发展语言历史概述 Java 是由 James Gosli ...
- 2,Java语言基础-Java语言基本程序设计知识
Java语言基础 Java语言基本程序设计知识 1,JavaAPI概述 1.1,什么是API API是指应用程序接口( Application Program Interface, API),故名思意 ...
- c语言基础知识竞赛策划案,省二级计算机C语言知识竞赛.doc
省二级计算机C语言知识竞赛.doc 省二级计算机C语言知识竞赛(初赛题)出卷人胡飞 考试时间90分钟 试卷分数100分一.选择题.(30分,1-20题每题1分,21-25题每题2分)123456789 ...
- R开发(part1)--R语言知识体系结构
学习笔记,仅供参考,有错必纠 参考自:<R的极客理想>-- 张丹 R开发 R语言知识体系结构 R简介 R语言是一门统计语言,主要用于数学建模.统计计算.数据处理.可视化等几个方向,R语言天 ...
最新文章
- Linux系统如何安装AutoFs挂载服务
- 2010.12.14 关于decimal和Numeric类型
- 对请求并发数做限制的通用RequestDecorator
- 同意按钮,倒计时10秒,同意按钮变为可提交的
- 获取SQL命令字符串中的参数名列表
- 如何优雅的统计代码耗时,快速知道你的程序慢在哪里!
- 驾考通专业版2011
- 高评分防火墙GlassWire:帮你监控、追踪和提升电脑安全
- 自下而上分析法基本问题
- SSH 免密码/免用户名/免IP登录云服务器
- 【大数据部落】用R挖掘Twitter数据
- 笛卡尔心形函数表达式_如何用几何画板画笛卡尔心形函数
- php计算运费价格,PHP: UPS API, UPS 运费计算, UPS接口
- 五万美元的年薪是如何花光的
- 【HR面试100问】一篇文章根治各种HR面的套路问题,文章给出参考答案~持续更新
- 如何做字幕?用语音识别生成字幕?
- Matlab——简单命令的执行
- RB-tree性质理解
- python中namedtuple函数用法详解
- JVM概览:内存空间与数据存储
热门文章
- 莱维飞行matlab作图,通俗易懂的布谷鸟算法与莱维飞行,(附求解函数最小值matlab源码)-Go语言中文社区...
- 信息系统项目管理师Part1-信息化与信息系统
- 用python爬荣耀皮肤图片(爬虫最基础题,python爬虫教程,超详细+完整代码)
- CSS带箭头的提示框实现
- U7 Ubuntu系统的U盘启动与安装-孙宇彤-专题视频课程
- 服务器 mac系统安装教程,mac os sierra安装教程
- 一加手机如何拷贝公交卡_一加手机5如何使用当公交卡,用NFC刷深圳通
- 开源文档管理系统LetoDMS的安装和汉化
- 乌克兰国民卫队中发生枪击案 已致5人死亡
- 24bit真彩色 32bit真彩色