位操作符详解与举例(将指定的位置设为1或0)

位操作符对它们的各个位执行AND(与),OR(或),NOT(非)和XOR(异或)等逻辑操作

AND 按位与 处理两个长度相同的二进制数,两个相应的二进位都为1,该位的结果值才为1,否则为0。符号为&

        如:0101 & 0011 == 0001

OR 按位或处理两个长度相同的二进制数,两个相应的二进位中只要有一个为1,该位的结果值为1,否则为0。符号为 |

        如:0101  | 0011  = 0111

NOT 非 是一元运算符, 对一个二进制数的每一位执行逻辑反操作。使数字1成为0, 0成为1。 符号为~

        如: ~ 0111 == 1000  

XOR 按位异或 处理两个长度相同的二进制数,两个相应的二进位如果相等,则该位结果值为0,不相等则为1。符号为^

        如:0101 ^ 0011 = 0110

下面介绍利用位操作符和移位操作符操作一个整形值中的单个位:

(1)把指定的位设置为 1

value = value | 1 << bit_number; //bit_number是指定的位数,取值范围是从0到value位数范围减1
#include <stdio.h>
#define bit_number 3
int main()
{
   
  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值