c语言中置位作用,C语言中常见的置位操作(置0或置1)
写成宏,方便移植
#define setbit(x,y)
x|=(1<
#define clrbit(x,y)
x&=~(1<
//将X的第Y位清0
方法二:
C语言位运算除了可以提高运算效率外,在嵌入式系统的编程中,它的另一个最典型的应用,而且十分广泛地正在被使用着的是位间的与(&)、或(|)、非(~)操作,这跟嵌入式系统的编程特点有很大关系。我们通常要对硬件寄存器进行位设置
譬如,我们通过将AM186ER型80186处理器的中断屏蔽控制寄存器的
第6位设置为0(开中断2),最通用的做法是:
#define INT_I2_MASK 0x0040
wTemp = inword(INT_MASK);
outword(INT_MASK, wTemp &~INT_I2_MASK);
而将该位设置为1的做法是:
#define INT_I2_MASK 0x0040
wTemp = inword(INT_MASK);
outword(INT_MASK, wTemp | INT_I2_MASK);
判断该位是否为1的做法是:
#define INT_I2_MASK 0x0040
wTemp = inword(INT_MASK);
if(wTemp & INT_I2_MASK)
{
…
}
方法三:
int a|=(1<
//X就是某位需要置1的数字,如第四位置1为:
a|=(1<<4)
int b&=~(1<
//把某位置0
x=x|0x0100 //把第三位置1
x=x&0x1011 //把第三位置0
#define BitGet(Number,pos) ((Number)
>> (pos)&1))
//用宏得到某数的某位
#define BitGet(Number,pos) ((Number) |=
1<
#define BitGet(Number,pos) ((Number) &=
~(1<
#define BitGet(Number,pos) ((Number) ^=
1<
典型操作有:
WTCON |= (1 << 5)
//WTCON的第五位清1
WTCON &= ~(1 << 5)
//WTCON的第五位清0
上述方法在嵌入式系统的编程中是非常常见的,我们需要牢固掌握。
c语言中置位作用,C语言中常见的置位操作(置0或置1)相关推荐
- C语言位操作中指定的某一位数置0、置1、取反
C语言位操作中指定的某一位数置0.置1.取反 一.指定的某一位数置1 宏 #define setbit(x,y) x|=(1<<y) 二.指定的某一位数置0 宏 #define clr ...
- c语言置字节某一位为0,C语言位操作中指定的某一位数置0、置1、取反
C语言位操作中指定的某一位数置0.置1.取反 一.指定的某一位数置1 宏 #define setbit(x,y) x|=(1< 二.指定的某一位数置0 宏 #define clrbit(x, ...
- 同步置0 异步置0 同步置位 异步置位 的区别
同步置零是指触发器在时钟信号的激励下,在时钟的上升沿或者下降沿时,触发器内的数据被置零.异步置零是指触发器在激励信号的激励下,在信号的上升沿或者下降沿时,触发器内的数据被置零.同步置位是指触发器在时钟 ...
- C语言在中学教学中的作用,C语言教学中学生编程能力的培养
[摘要]C语言是计算机专业学生的基础课程,学习好C语言不仅能激发学生学习的兴趣,而且对以后的课程学习也大有帮助,学好C语言的关键是掌握编程技巧,从多年的实践教学经验来看,编程技巧的主要应从以下几个方面 ...
- C语言中常见的置位操作(置0或置1)
如何对某一位置0或者置1? 方法一: 写成宏,方便移植 #define setbit(x,y) x|=(1<<y) //将X的第Y位置1 #define clrbit(x,y) x& ...
- static在c语言中的作用_C语言关键字 static 的用法
接上文:C语言的32个关键字 C语言 static 关键字的常见用法有三种: 用于局部变量的修饰符: 用于全局变量的修饰符: 用于函数的修饰符. 1.用于局部变量的修饰符 当 static 用于修饰局 ...
- %2d在c语言中什么作用,C语言中的 %2d是什么意思
修饰符格式说明.意义M%md以宽度m输出整型数,不足m时,左补空格0m%0md以宽度m输出整型数,不足m时,左补零m,n%m.nf以宽度m输出实型小数,小数位为n位例如:设i=123,a=12.345 ...
- c语言fun的作用,c语言fun函数有什么作用
c语言fun函数有什么作用 c语言fun函数的作用是被主函数所调用,来定义一个函数或方法,这样在引用时可以用fun表示,比如[int fun(int x,int y)]. c语言fun函数的作用是: ...
- c语言 运算符的作用,C语言运算符
原标题:C语言运算符 运算符 在应用程序中,经常会对数据进行运算,为此,C语言提供了多种类型的运算符,即专门用于告诉程序执行特定运算或逻辑操作的符号.根据运算符的作用,可以将 C语言中常见的运算符分为 ...
- C语言文件缓冲区作用,C语言 文件操作4--文件结构体FILE的理解以及缓冲区再讲...
//文件结构体FILE的理解以及缓冲区再讲 #include #include //要点:文件结构 //struct _iobuf { // char *_ptr; ------当前缓冲区内容指针 / ...
最新文章
- html display布局,Web布局:display属性
- 你必须知道的Dockerfile
- spark任务shell运行_大数据系列:Spark的工作原理及架构
- 镇政府事业编怎么样,工作压力大吗?
- php实现观看记录,PHP实现浏览历史记录
- 吉林大学计算机学院换届,CCF吉林大学学生分会举行换届选举会议-中国计算机学会...
- 动态规划实战2-leetcode 62.unique path
- 如何在虚拟机linux下运行程序吗,在Linux上运行虚拟机的3种方法 | MOS86
- 用报初会的照片报计算机,会计考试报名倒计时,手把手教你一次通过审核工具...
- AD10封装库转到PADS封装库里
- 基于Docker和kkFileView实现office在线预览
- 研祥计算机U盘启动,研华工控机U盘启动设置
- OSChina 周二乱弹 —— 基于现代生物化学的长生不老药炼制教程
- 轉載:2006中国大陆企业慈善捐赠100榜
- 2018 抖音热门歌曲大全
- python:实现newton_raphson牛顿拉夫森算法(附完整源码)
- Python 分类算法(1)——逻辑回归logistic regression之代码实现(2)
- linux下好玩的文本工具-figlet
- 计算机数学的外文翻译,计算机 数学 外文翻译 外文文献 英文文献 模糊随机森林.doc...
- UPC 1016: 幼儿园小朋友们的难题
热门文章
- kali修改更新源及更新
- 互链周报 | 上周,区块链新项目披露12个,融资项目7个,扶持政策数量增长明显...
- 北信科1011 K. paulzhou和方程 [组合数学+差分序列]【数学】
- 磁盘 扇区 柱面 linux,磁盘的基本知识:磁道、柱面和扇区
- 你想学的都在这里!双非渣本Android四年磨一剑,赶紧收藏!
- 泰凌微TLSR825X开发十三 蓝牙长包通信
- Android定制出厂默认输入法
- 小管家桌面程序(备忘录,简洁,自由,持续开发)
- 王岳华:投区块链里最有前景的项目,做最闪亮的投资人
- 什么是懒加载和预加载?