C语言中,有时需要进行置位操作,比如针对其中的某些位。这样做的目的是既达到了目标,又不会影响其它位。常用的置位操作如下:

#define   setbit(x,y)    x|=(1<<y) //将X的第Y位置1
#define   clrbit(x,y)     x&=~(1<<y) //将X的第Y位清0

举个例子:

int main(int argc, char* argv[])
{
      unsigned char a = 0x55;
      unsigned char b = a|(1<<1);      //第一位置1
      unsigned char c = a&~(1<<2);   //第二位置0
      printf("Hello World! 0x%x,0x%x/n",b,c);
      return 0;
}

输出0x57,0x51。0x57即从01010101,变成01010111;0x51即从01010101,变成01010001。

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. c语言给一个函数添加功能,【C语言】请编写实现以下功能函数:实现对一个8bit数据(unsigned char)的指定位(例如第8位)的置0或置1操作,并保持其他位不变...

    /*请编写实现以下功能函数:实现对一个8bit数据(unsigned char)的指定位(例如第8位)的置0或置1操作,并保持其他位不变. 函数原型:void bit_set(unsigned cha ...

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

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

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

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

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

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

  7. c语言中置位作用,C语言中常见的置位操作(置0或置1)

    写成宏,方便移植 #define setbit(x,y) x|=(1< #define clrbit(x,y) x&=~(1< //将X的第Y位清0 方法二: C语言位运算除了可以 ...

  8. 位操作-置0,置1,取反以及获取某位是0还是1

    u32 a=0x00AA; a |=(1<<5) ;//第5位置1 a &=~(1<<5) ;//第5位置0 a ^=(1<<5) ;//第5位取反 if( ...

  9. 位操作:置1、置0、取反、取值--SetBit ResetBit Reversebit GetBit

    #define setbit(x,y) x|=(1<<y) // 位置1 #define clrbit(x,y) x&=~(1<<y) // 位置0 #define r ...

  10. c语言如何标志置1与置0,c语言对于文本的基本操作

    字符读写函数  :fgetc和fputc 字符串读写函数:fgets和fputs 数据块读写函数:freed和fwrite 格式化读写函数:fscanf和fprinf 1.字符读写: fgetc函数的 ...

最新文章

  1. 与时代共振,AI助力工业缺陷检测
  2. 2017杭州·云栖大会第二天:阿里云发布了这些“黑科技”
  3. Linux中sysstat服务,Linux 性能优化工具包 sysstat 以及 sysstat 服务
  4. 【机器学习算法-python实现】svm支持向量机(1)—理论知识介绍
  5. 计算机组装的维修学测,《计算机组装与维修》课程学业水平测试卷(样卷答案).doc...
  6. android触摸事件透传,Android中父View穿透子View响应长按事件
  7. boost::hana::chain用法的测试程序
  8. Android_(菜单)选项菜单
  9. java常见的排序算法_常见排序算法及Java实现
  10. [转] .NET 3.5中MSChart组件的ImageLocation属性含义
  11. Android之error: ‘const struct JNINativeInterface‘ has no member named ‘callVoidMethod‘
  12. 解锁一个新技巧,让你舒服到不想起床
  13. rpmbuild - 构建 RPM 打包
  14. 开放下载!2021 解锁 Serverless 从入门到实战大“橙”就
  15. C++中new和delete来创建和释放动态数组
  16. eclipse ARM/AARCH64版本下载
  17. java快捷键大全,非常详细,清楚明了
  18. 阿里云实现人脸登录(人脸库 OSS)
  19. 树莓派计算机组装,Samytronix Pi:用树莓派 DIY 的桌面计算机
  20. 锁定计算机怎么设密码忘记了怎么办,如何设置笔记本电脑指纹密码忘了怎么办...

热门文章

  1. 六级词汇总结( 整理自己的大学时候的资料发现的好东东!!~~)
  2. fbreader android源码分析,开源阅读器FBReader Android版本的编译
  3. PTA 7-18(查找) 新浪微博热门话题(30 分) 30分代码 (已更新)
  4. Telos 小白指南
  5. 关于全国信息安全作品赛的了解
  6. Java学习之AWT绘图“奥运五环”
  7. 网络与系统安全笔记------身份认证技术
  8. 爬取豆瓣电影排行榜top 250
  9. 冰冻三尺非一日之寒-自学篇 浅谈个人学习方法(转载)
  10. obsutil相关 (桶相关操作Linux)