- 前言
- 一、分析步骤
- 二、使用步骤
- 1.引入库
- 1.置1
- 2.置0
- 2.读入数据
前言
今天给大家讲解关于对二进制的某一位进行处理置1或者清0.
本章需要用到位运算符&和|。
不懂的话可以移步到C语言–操作符详解
圈出来的就是本节需要使用的
一、分析步骤 二、使用步骤 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.读入数据



