码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 逻辑运算符


    逻辑运算符

    • 一、按位与/逻辑与
      • (一)按位与
        • 1.符号
        • 2.介绍
        • 3.举例
          • (1)相同位与
          • (2)不同位与
          • (3)不同位宽截断和扩展
      • (二)逻辑与(短路与)
        • 1.符号
        • 2.介绍
        • 3.举例
    • 参考链接

    一、按位与/逻辑与

    (一)按位与

    1.符号

    按位与& 运算符

    2.介绍

    1.按位与运算符“&”是双目运算符。
    2.其功能是参与运算的两数各对应的二进位相与。
    3.只有对应的两个二进位都为1时,结果位才为1。
    4.千万不要与 && 混淆

    3.举例

    (1)相同位与

    首先把数转换为2进制
    比如:
    10 二进制为:1010
    11 二进制为:1011

          ~~~~~       1    ~~    0    ~~    1    ~~    0
          ~~~~~       1    ~~    0    ~~    1    ~~    1
    &   ~   ————————
          ~~~~~       1    ~~    0    ~~    1    ~~    0

    注意:有对应的两个二进位都为1时,结果位才为1

    (2)不同位与

          ~~~~~       1    ~~    0    ~~    1    ~~    0
                           ~~~~~~~~~~~~~~~~~~~~~~                        1
    &   ~   ————————
                           ~~~~~~~~~~~~~~~~~~~~~~                        0

    “与运算”的特殊用途:

    • 清零。如果想将一个单元清零,即使其全部二进制位为0,只要与一个各位都为零的数值相与,结果为零。

    • 取一个数中指定位
      方法:找一个数,对应X要取的位,该数的对应位为1,其余位为零,此数与X进行“与运算”可以得到X中的指定位。
      例:设X=10101110,

      取X的低4位,用 X & 0000 1111 = 0000 1110 即可得到;

      还可用来取X的2、4、6位。

    (3)不同位宽截断和扩展

    Verilog中不同位宽的无符号数和有符号之间赋值的截断和扩展问题

    (二)逻辑与(短路与)

    1.符号

    逻辑与&& 运算符,逻辑与是短路操作符

    2.介绍

    逻辑与和短路与的区别:

    • 逻辑与的判断方式是:
      从左到右依次判断,直到结尾(逻辑全程运算)

    • 短路与的判断方式是:
      从左到右依次判断,直到出现false为止将不再判断,直接得到结果为false(短路遇false就停)

    3.举例

    1&&2转换二进制1&&0010
    1为true,2>0为true,故1&&0010=1;

    console.log(a && 0); // ReferenceError: a is not defined
    console.log(0 && a); //0, 因为是短操作符,第一个操作符0为false,第二个操作符不会执行(这里的变量a未定义)
    console.log(2 && 1); //1,第一个操作数2是true,会计算第二个操作数,返回第二个操作数1
    console.log(0 && 2); //0,第一个操作数0是false,直接返回0,不会管第二个操作数
    console.log(2 && 0); //0,第一个操作数2是true,会计算第二个操作数
    console.log(2 && 3); //3,第一个操作数2是true,会计算第二个操作数,第二个操作数3是true,返回3
    console.log(NaN && NaN); //NaN,第一个操作数是NaN,不会管第二个操作数
    console.log(null && null); //null,第一个操作数时null,不会管第二个操作数
    console.log(undefined && undefined); //undefined,第一个操作数时undefined,不会管第二个操作数

    参考链接

    位运算符之—按位与运算符(简单易懂)
    逻辑或和逻辑与

  • 相关阅读:
    mysql修改数据库名称
    OpenCV的Mat对象如何定义数组?
    第三章、栈和队列
    图表控件LightningChart使用教程:创建2D 热点图图表
    Unity中的RegisterPlugins:深入解析与实用案例
    一文教你如何在项目开发中使用日志
    GUI自动化 - 操控键盘
    海川润泽智慧灌区管理平台
    Go类型嵌入介绍和使用类型嵌入模拟实现“继承”
    【泛微ecology】ecology的补丁包升级
  • 原文地址:https://blog.csdn.net/weixin_56102526/article/details/126170525
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号