#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
// 移位操作的应用 将某个二进制数中的某一位变为1或者0
int main() {
int num = 7;
00 00000000000000000000000000000111;想把其中一位变为0;
把1移动一位00000000000000000000000000000000010
//然后进行取反 11111111111111111111111111111111101
//然后进行相与
/*把某位的0改成1,移位后进行相与就可以*/
/*int num1 = 5;
00000000000000000000000000000101;
将1左移1位 00000000000000000000000000000010;
进行或操作 即可*/
}
将一位二进制中的某的某一位0变成1:
进行的是按位或:首先将1左移到想要变换的那一位然后与该数进行或操作
将一位二进制中的某的某一位0变成1:
进行的是按位与:首先将1移动到要变换的那一位然后对移动完的这个数字进行取反,取反后再进行与操作
不论是按位与还是按位或都是现将1进行一位然后根据需要看是变1还是变0再进行相应的操作