当前位置:   article > 正文

C语言位操作:将某一位置1,或将某一位置0_c语言某一位置0

c语言某一位置0

首先,位操作是通过与运算和或运算来实现的,与的特性是:有0为0,全1为1,或的特性是:有1为1,全0为0。也就是,

和0与会被清0,和1与会被保持

和1或会被置1,和0或会被保持

那么位操作的实现就很明确了,那清0就使用与运算,置1就使用或运算。

接下来,以把0xF0的bit2置1,bit4清0为例,代码如下

  1. #include <stdio.h>
  2. int main(void) {
  3. int a = 0xF0; //二进制数字
  4. int b, c;
  5. b=a|(1<<2);//0b1111'0100=0xf4,~是取反操作
  6. c=a&(~(1<<4));//0b1110'0000=0xe0
  7. printf("十六进制输出:\n"); //以十六进制形式输出
  8. printf("a=%#X, b=%#X, c=%#X\n", a, b, c); //X大写,则输出的前缀和字母都大写
  9. //小技巧
  10. a|=1<<2;
  11. printf("a=%#X\n", a);
  12. a&=~(1<<4);
  13. printf("a=%#X\n", a);
  14. return 0;
  15. }

实验结果:

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/凡人多烦事01/article/detail/112289
推荐阅读
相关标签
  

闽ICP备14008679号