按位操作符(修改二进制中的某一位)

#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再进行相应的操作

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值