0
点赞
收藏
分享

微信扫一扫

对二进制的某一位操作


文章目录

  • ​​前言​​
  • ​​一、分析步骤​​
  • ​​二、使用步骤​​
  • ​​1.引入库​​
  • ​​1.置1​​
  • ​​2.置0​​
  • ​​2.读入数据​​

前言

今天给大家讲解关于对二进制的某一位进行处理置1或者清0.
本章需要用到位运算符&和|。
不懂的话可以移步到​​​C语言–操作符详解​​​对二进制的某一位操作_读入数据
圈出来的就是本节需要使用的

一、分析步骤

对二进制的某一位操作_读入数据_02

二、使用步骤

1.引入库

1.置1

#define SETBIT(x,n) (x|=1<<(n-1))
void ShowBits(int x) {
int num = sizeof(x) * 8 - 1;//减一是因为二进制一共有32位 移动的范围是0~31位
while (num >= 0)
{
if (x&1<<(num))
{
printf("1");
}
else
{
printf("0");
}
num--;
}
printf("\n");
}
int main() {
int x = 0;
SETBIT(x,5);//将第五位置1
ShowBits(x);//打印二进制的每一位
return 0;
}

2.置0

#define CLRBIT(x,n) (x&=(~(1<<(n-1))))
void ShowBits(int x) {
int num = sizeof(x) * 8 - 1;//减一是因为二进制一共有32位 移动的范围是0~31位
while (num >= 0)
{
if (x&1<<(num))
{
printf("1");
}
else
{
printf("0");
}
num--;
}
printf("\n");
}
int main() {
int x = 100;
CLRBIT(x, 6);//将第六位置零
ShowBits(x);//打印二进制的每一位
return 0;
}

2.读入数据

对二进制的某一位操作_c语言_03
对二进制的某一位操作_#define_04


举报

相关推荐

0 条评论