写成宏,方便移植

#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)相关推荐

  1. C语言位操作中指定的某一位数置0、置1、取反

    C语言位操作中指定的某一位数置0.置1.取反 一.指定的某一位数置1 宏 #define setbit(x,y)  x|=(1<<y) 二.指定的某一位数置0 宏  #define clr ...

  2. c语言置字节某一位为0,C语言位操作中指定的某一位数置0、置1、取反

    C语言位操作中指定的某一位数置0.置1.取反 一.指定的某一位数置1 宏 #define setbit(x,y)  x|=(1< 二.指定的某一位数置0 宏  #define clrbit(x, ...

  3. 同步置0 异步置0 同步置位 异步置位 的区别

    同步置零是指触发器在时钟信号的激励下,在时钟的上升沿或者下降沿时,触发器内的数据被置零.异步置零是指触发器在激励信号的激励下,在信号的上升沿或者下降沿时,触发器内的数据被置零.同步置位是指触发器在时钟 ...

  4. C语言在中学教学中的作用,C语言教学中学生编程能力的培养

    [摘要]C语言是计算机专业学生的基础课程,学习好C语言不仅能激发学生学习的兴趣,而且对以后的课程学习也大有帮助,学好C语言的关键是掌握编程技巧,从多年的实践教学经验来看,编程技巧的主要应从以下几个方面 ...

  5. C语言中常见的置位操作(置0或置1)

    如何对某一位置0或者置1? 方法一: 写成宏,方便移植 #define setbit(x,y) x|=(1<<y) //将X的第Y位置1 #define clrbit(x,y) x& ...

  6. static在c语言中的作用_C语言关键字 static 的用法

    接上文:C语言的32个关键字 C语言 static 关键字的常见用法有三种: 用于局部变量的修饰符: 用于全局变量的修饰符: 用于函数的修饰符. 1.用于局部变量的修饰符 当 static 用于修饰局 ...

  7. %2d在c语言中什么作用,C语言中的 %2d是什么意思

    修饰符格式说明.意义M%md以宽度m输出整型数,不足m时,左补空格0m%0md以宽度m输出整型数,不足m时,左补零m,n%m.nf以宽度m输出实型小数,小数位为n位例如:设i=123,a=12.345 ...

  8. c语言fun的作用,c语言fun函数有什么作用

    c语言fun函数有什么作用 c语言fun函数的作用是被主函数所调用,来定义一个函数或方法,这样在引用时可以用fun表示,比如[int fun(int x,int y)]. c语言fun函数的作用是: ...

  9. c语言 运算符的作用,C语言运算符

    原标题:C语言运算符 运算符 在应用程序中,经常会对数据进行运算,为此,C语言提供了多种类型的运算符,即专门用于告诉程序执行特定运算或逻辑操作的符号.根据运算符的作用,可以将 C语言中常见的运算符分为 ...

  10. C语言文件缓冲区作用,C语言 文件操作4--文件结构体FILE的理解以及缓冲区再讲...

    //文件结构体FILE的理解以及缓冲区再讲 #include #include //要点:文件结构 //struct _iobuf { // char *_ptr; ------当前缓冲区内容指针 / ...

最新文章

  1. html display布局,Web布局:display属性
  2. 你必须知道的Dockerfile
  3. spark任务shell运行_大数据系列:Spark的工作原理及架构
  4. 镇政府事业编怎么样,工作压力大吗?
  5. php实现观看记录,PHP实现浏览历史记录
  6. 吉林大学计算机学院换届,CCF吉林大学学生分会举行换届选举会议-中国计算机学会...
  7. 动态规划实战2-leetcode 62.unique path
  8. 如何在虚拟机linux下运行程序吗,在Linux上运行虚拟机的3种方法 | MOS86
  9. 用报初会的照片报计算机,会计考试报名倒计时,手把手教你一次通过审核工具...
  10. AD10封装库转到PADS封装库里
  11. 基于Docker和kkFileView实现office在线预览
  12. 研祥计算机U盘启动,研华工控机U盘启动设置
  13. OSChina 周二乱弹 —— 基于现代生物化学的长生不老药炼制教程
  14. 轉載:2006中国大陆企业慈善捐赠100榜
  15. 2018 抖音热门歌曲大全
  16. python:实现newton_raphson牛顿拉夫森算法(附完整源码)
  17. Python 分类算法(1)——逻辑回归logistic regression之代码实现(2)
  18. linux下好玩的文本工具-figlet
  19. 计算机数学的外文翻译,计算机 数学 外文翻译 外文文献 英文文献 模糊随机森林.doc...
  20. UPC 1016: 幼儿园小朋友们的难题

热门文章

  1. kali修改更新源及更新
  2. 互链周报 | 上周,区块链新项目披露12个,融资项目7个,扶持政策数量增长明显...
  3. 北信科1011 K. paulzhou和方程 [组合数学+差分序列]【数学】
  4. 磁盘 扇区 柱面 linux,磁盘的基本知识:磁道、柱面和扇区
  5. 你想学的都在这里!双非渣本Android四年磨一剑,赶紧收藏!
  6. 泰凌微TLSR825X开发十三 蓝牙长包通信
  7. Android定制出厂默认输入法
  8. 小管家桌面程序(备忘录,简洁,自由,持续开发)
  9. 王岳华:投区块链里最有前景的项目,做最闪亮的投资人
  10. 什么是懒加载和预加载?