简介:

&&是逻辑与运算符,||是逻辑或运算符,都是逻辑运算符,两边只能是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;    //1value = 1 & 0;    //0value = 0 & 1;    //0value = 0 & 0;    //0value = 3 & 3;    //3 二进制计算:11 = 11&11value = 3 & 2;    //2 二进制计算:10 = 11&10value = 2 & 3;    //2 二进制计算:10 = 10&11value = 5 & 6;    //4 二进制计算:100 = 101&110value = 213 & 73;    //65//a|b 或运算,会返回a和b中每个位(比特,即二进制)最大的值; value = 1|1;    //1value = 1|0;    //1value = 0|1;    //1value = 0|0;    //0value = 3|3;    //3 二进制计算:11 = 11 | 11value = 3|2;    //3 二进制计算:11 = 11 | 10value = 2|3;    //3 二进制计算:11 = 10 | 11value = 5|6;    //7 二进制计算:111 = 101 | 110value = 213|73;    //221

C/C++混淆点-与相关推荐

  1. android类名方法名不混淆,android – 如何告诉Proguard混淆类名

    我想用proguard来混淆类名.我在Proguard.cfg中有这一行 -keepclasseswithmembers class * { public static ; } -keepnames ...

  2. 深度学习--TensorFlow(5)BP神经网络(混淆矩阵、准确率、精确率、召回率、F值)

    目录 一.混淆矩阵 二.准确率 三.召回率 四.精确率 五.综合评估指标 -- F值 一.混淆矩阵         也程误差矩阵,是表示精度评价的一种标准格式,用n行n列的矩阵形式来表示.在机器学习领 ...

  3. 5个常用Java代码混淆器 助你保护你的代码

    [IT168 技术文档] 从事Java编程的人都知道,可以通过逆向工程反编译得到Java程序的源代码,这种反编译工具之一就是JAD.因此,为保护我们的劳动成果,尽可能给反编译人员制造障碍,我们可以使用 ...

  4. 使用VS自带的混淆器防止你的程序被反编译

    这里就介绍大家使用VS自带的混淆器dotfuscator.exe来阻止这种行为. 首先要做的找到dotfuscator.exe: D:/Microsoft Visual Studio .NET 200 ...

  5. android命令行工具 混淆,Android 混淆代码学习以及Android加密工具--APKProtect的使用ZZ...

    一:情景分析 有时候看到其他应用App的一些效果很炫,或者是功能实现很好就想着参考参考,于是乎,下载APK----反编译APK---查看源码....,但是悲剧来了....源码都是些a,b,c...等等 ...

  6. Dotfuscator代码混淆工具的使用

    关于Dotfuscator,VS自带了一个社区版的源代码保护工具,不过它只有基本的混淆命名的功能.专业版功能很多,可以混淆流程,密字符串,加入水印,程序签名等. 工具/原料 Dotfuscator P ...

  7. php源码安全加密之PHP混淆算法.

    php源码安全加密的前世今生,本想发在教程区中.不知道怎么发,就写在这里面吧. PHP加密,解密是一直的话题,本人菜鸟,今天就简单向大家介绍一下并说说其中原理.提供一些加密的混淆算法. 一\PHP的加 ...

  8. 【C#小知识】C#中一些易混淆概念总结(三)---------结构,GC,静态成员,静态类...

    目录: [C#小知识]C#中一些易混淆概念总结 [C#小知识]C#中一些易混淆概念总结(二) ---------------------------------------分割线----------- ...

  9. 混淆梯度(Obfuscated Gradients Give a False Sense of Security Circumventing Defense)

    下载地址:https://u20150046.ctfile.com/fs/20150046-376633529 论文摘要 我们发现"混淆梯度"(obfuscated gradien ...

  10. 【C#小知识】C#中一些易混淆概念总结(七)---------解析抽象类,抽象方法

    目录: [C#小知识]C#中一些易混淆概念总结--------数据类型存储位置,方法调用,out和ref参数的使用 [C#小知识]C#中一些易混淆概念总结(二)--------构造函数,this关键字 ...

最新文章

  1. 嘈杂场景语音识别准确率怎么提?脸书:看嘴唇
  2. asp.net中创建一个简单的自定义控件
  3. Echange 的发展史
  4. 利用ISA2006发布Exchange的RPC over HTTPS
  5. 国内最强算法推荐系统,百度第二,它排第一!
  6. ES6/03/函数的定义方式和调用方式,函数内的this指向,改变函数中this指向的三个方法(call(),apply(),bind())
  7. 创建型设计模式(1)—— 单例模式(Singleton Pattern)
  8. Bailian2928 POJ NOI0113-05 素数回文数的个数【数论】
  9. java多线程总结二(转)
  10. Windows下linux传盘工具,Windows下安装红旗Linux及工具盘全过程
  11. vb.net写的一个简单计算器(未完善)
  12. kali自带浏览器上不了网的解决办法
  13. Arduino和SX1278的那些事
  14. AD7606八通道AD采集模块测试
  15. GB50016计算机房设计规定,建筑设计防火规范GB50016-2014
  16. android高德方向,Android高德地图填坑
  17. SAX错误–序言中不允许包含内容
  18. 猿圈 题库_小猿圈总结常见HTML5基础知识面试题汇总
  19. Python编程基础(2)
  20. cmd命令,最新的装逼利器

热门文章

  1. java togglebutton_ToggleButton和Switch使用大全
  2. centos7重新加载服务的命令_CentOS7 从查看、启动、停止服务说起systemctl
  3. gpt efi win7 linux,科学网—UEFI+GPTSSD+HDD 成功安装win10+Centos linux7 过程 - 陈长云的博文...
  4. linux第三方模块参数,nginx 的第三方模块ngx_http_accesskey_module 来实现下载文件的防盗链步骤(linux系统下)...
  5. java simplejson_JSON.simple首页、文档和下载 - JSON/BSON开发包 - OSCHINA - 中文开源技术交流社区...
  6. Java核心篇之Java锁--day2
  7. oracle用户密码复杂度查询,11gR2 Database用户密码复杂度验证
  8. xampp 支持pdo mysql_在Windows上安装PHP PDO(xampp)
  9. 的硬件报错_工程师经验:78%的硬件失效罪魁祸首 —— 焊接问题
  10. linux系统生成的新文件是什么编码的,Linux系统的默认编码怎样设置?