C++中逻辑运算符(&&,||)与位运算符(&,|)的使用

写程序过程中我们会经常使用到这四个运算符,为了更清楚地理解和区分,下面就专门把这四个运算符放一起讲讲。

一、逻辑运算符

1、&&:逻辑与

运算对象是逻辑值

bool a=ture;
bool b=false;
bool c=ture;
// 布尔类型中的ture和false,对应1和0
if(a&&b){}   

if(a&&c){}

只有当运算符&&两边运算对象同时为ture时,运算结果才为ture,判断语句才执行;

其它情况下运算结果均为false,判断语句不执行

2、||   :逻辑或

运算对象是逻辑值

bool a=ture;
bool b=false;
bool c=ture;

if(a||b){}   

if(a||c){}

只要运算符||两边运算对象有一个为ture,运算结果就为ture,判断语句执行;

只有运算符||两边运算均为false,运算结果才是false,判断语句不执行;

二、位运算符

1、&:按位与

运算对象是

与运算规则如下:

    1 & 1 = 1
    1 & 0 = 0
    0 & 1 = 0
    0 & 0 = 0

以8位usigned char(无符号字符)的按位与运算进行举例:

unsigned char a=0x12;  //转换为二进制为:0001 0010

unsigned char b=a&0xFF;  //0xFF对应二进制为:1111 1111

此处a&0xFF即:
  0001 0010
& 1111 1111
-------------
  0001 0010
所以b=a=0x12;

2、| :按位或

运算对象是

运算规则如下:

    1 | 1 = 1
    1 | 0 = 1
    0 | 1 = 1
    0 | 0 = 0

以8位usigned char(无符号字符)的按位或运算进行举例:

unsigned char a=0x12;  //转换为二进制为:0001 0010

unsigned char b=a|0x00;  //0x00对应二进制为:0000 0000

此处a|0xFF即:
  0001 0010
| 0000 0000
-------------
  0001 0010
所以b=a=0x12;

三、总结

1、计算机中的逻辑运算又被称作为“布尔运算”,分别为:逻辑运算、逻辑运算,逻辑运算,“逻辑异或运算。此外在门电路中还有:同或运算、与非运算、或非运算。共七种

逻辑运算只有两个布尔值:

  • 0 ,表示假值(False)。
  • 1 ,表示真值(True)。

2.位运算
1)&:按位与
2)|:按位或
3)^:按位异或
4)~ :按位取反
5)<<:左移

具体应用的话,比如报文解析时需要将数据按规定字节序进行整合时,会用到位运算。
 

  • 12
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值