• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >C语言 > C++中运算符 &和&&、|和|| 的详解及区别

C++中运算符 &和&&、|和|| 的详解及区别

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-28

通过本文主要向大家介绍了c++ 运算符,c++运算符重载,c++运算符优先级,c++逻辑运算符,c++运算符优先级表等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

C++中运算符 &和&&、|和|| 的详解及区别

简介:

&&是逻辑与运算符,||是逻辑或运算符,都是逻辑运算符,两边只能是bool类型
&与| 既可以进行逻辑运算,又可以进行位运算,两边既可以是bool类型,又可以是数值类型

区别:

if (A && B) 如果 A 为 false ,整个表达式就为 false,不再计算 B 的值了。
if (A & B) 如果 A 为 false ,整个表达式就为 false,但还要计算 B 的值。
if (A && B++) 如果A 为 false,&&不会再计算后面的值
if (A & B++) 如果A 为 false,&则会计算后面的值

& | 为整型和 bool 类型预定义了两种运算规则

对于整型,& 和 | 计算操作数的按位“与”;
对于 bool 操作数,& 或 | 计算操作数的逻辑“与”、“或”;
也就是说对于bool类型 & 和&&、| 和 || 的if判断结果是相同的。
对于整形数据&&只判断真假(0或非0),两边的数据必须都为真或任一方为假;
对于整形数据&两边的数据则进行按位与运算,并返回计算结果让if判断这个值
逻辑(AND): true && false : false
按位(AND): 1001 0110 & 1111 1111 : 1001 0110 (二进制位)

例子:

 //a&b 与运算,会返回a和b中每个位(比特,即二进制)最小的值; 
 value = 1 & 1;  //1
 value = 1 & 0;  //0
 value = 0 & 1;  //0
 value = 0 & 0;  //0
 value = 3 & 3;  //3 二进制计算:11 = 11&11
 value = 3 & 2;  //2 二进制计算:10 = 11&10
 value = 2 & 3;  //2 二进制计算:10 = 10&11
 value = 5 & 6;  //4 二进制计算:100 = 101&110
 value = 213 & 73;  //65

 //a|b 或运算,会返回a和b中每个位(比特,即二进制)最大的值; 
 value = 1|1;  //1
 value = 1|0;  //1
 value = 0|1;  //1
 value = 0|0;  //0
 value = 3|3;  //3 二进制计算:11 = 11 | 11
 value = 3|2;  //3 二进制计算:11 = 11 | 10
 value = 2|3;  //3 二进制计算:11 = 10 | 11
 value = 5|6;  //7 二进制计算:111 = 101 | 110
 value = 213|73;  //221

</div>

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 有关C++中类类型转换操作符总结(必看篇)
  • C++中求余运算符(%)示例详解
  • C++中运算符 &和&&、|和|| 的详解及区别
  • 深入解析C++编程中范围解析运算符的作用及使用
  • 深入解析C++编程中__alignof 与__uuidof运算符的使用
  • C++中赋值运算符与逗号运算符的用法详解
  • C++重载运算符的规则详解
  • C++中不能被重载的运算符介绍
  • C++中的异或运算符^的使用方法
  • C++按位异或运算符的使用介绍

相关文章

  • 2017-05-28VC++中HTControl控制类使用之CHTDlgBase对话框基类实例
  • 2017-05-28C++中this指针用法详解及实例
  • 2017-05-28简单分析C语言中指针数组与数组指针的区别
  • 2017-05-28ShellExecute函数用法的实例代码
  • 2017-05-28深入探讨POJ 2312 Battle City 优先队列+BFS
  • 2017-05-28浅谈c语言中类型隐性转换的坑
  • 2017-05-28CreateThread()与beginthread()的区别详细解析
  • 2017-05-28详解C++中的vector容器及用迭代器访问vector的方法
  • 2017-05-28C++实现二叉树非递归遍历方法实例总结
  • 2017-05-28原码, 反码与补码基础知识详细介绍

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 如何判断一个数是否为4的幂次方?若是,并判断出来是多少次方?
    • C语言const的修饰符
    • linux c 获取本机公网IP的实现方法
    • 学编程难吗?多久能入门?
    • c++函数中的指针参数与地址参数区别介绍
    • C语言中 值传递和指针传递实例详解
    • C++智能指针读书笔记
    • C++11新特性之auto的使用
    • 解决不用sizeof求出int大小的方法
    • C++编程中私有和保护以及公有的类成员访问控制

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有