0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

单片机的逻辑运算符和位运算符是什么?数字电路中的常用符号

GReq_mcu168 来源:未知 作者:易水寒 2018-10-03 08:50 次阅读

首先,在“逻辑”这个概念范畴内,存在真和假这两个逻辑值,而将其对应到数字电路或 C 语言中,就变成了“非 0 值”和“0 值”这两个值,即逻辑上的“假”就是数字电路或C 语言中的“0”这个值,而逻辑“真”就是其它一切“非 0 值”。然后,我们来具体分析一下几个主要的逻辑运算符。我们假定有 2 个字节变量:A 和 B,二者进行某种逻辑运算后的结果为 F。以下逻辑运算符都是按照变量整体值进行运算的,通常就叫做逻辑运算符:

逻辑运算符 说明
&& 逻辑与 F = A && B,当 A、B 的值都为真(即非 0 值,下同)时,其运算结果 F为真(具体数值为1,下同);当 A、B 值任意一个为假(即 0,下同)时,结果 F 为假(具体数值为 0,下同)。
|| 逻辑或 F = A || B,当 A、B 值任意一个为真时,其运算结果 F 为真;当 A、B 值都为假时,结果 F 为假。
! 逻辑非 F = !A,当 A 值为假时,其运算结果 F 为真;当 A 值为真时,结果 F 为假。

以下逻辑运算符都是按照变量内的每一个位来进行运算的,通常就叫做位运算符:

逻辑运算 说明
& 按位与 F = A & B,将 A、B 两个字节中的每一位都进行与运算,再将得到的每一位结果组合为总结果 F,例如 A = 0b11001100,B = 0b11110000,则结果 F 就等于 0b11000000。
| 按位或 F = A | B,将 A、B 两个字节中的每一位都进行或运算,再将得到的每一位结果组合为总结果 F,例如 A = 0b11001100,B = 0b11110000,则结果 F 就等于 0b11111100。
~ 按位取反 F = ~A,将 A 字节内的每一位进行非运算(就是取反),再将得到的每一位结果组合为总结果 F,例如 A = 0b11001100,则结果 F 就等于 0b00110011;这个运算符我们在前面的流水灯实验里已经用过了,现在再回头看一眼,是不是清楚多了。
^ 按位异或 异或的意思是,如果运算双方的值不同(即相异)则结果为真,双方值相同则结果为假。在 C 语言里没有按变量整体值进行的异或运算,所以我们仅以按位异或为例,F = A ^ B,A = 0b11001100,B = 0b11110000,则结果 F 就等于 0b00111100。

我们今后要看资料芯片手册的时候,会经常遇到一些电路符号,图 5-1 所示就是数字电路中的常用符号,知道这些符号有利于我们理解器件的逻辑结构,尤其重点认识图 5-1 中的国外流行图形符号。在这里我们先简单看一下,如果日后遇到了可以到这里来查阅。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 单片机
    +关注

    关注

    6032

    文章

    44513

    浏览量

    632697
  • C语言
    +关注

    关注

    180

    文章

    7597

    浏览量

    136120
  • 数字电路
    +关注

    关注

    193

    文章

    1600

    浏览量

    80489
  • 逻辑运算
    +关注

    关注

    0

    文章

    56

    浏览量

    9752

原文标题:单片机逻辑电路与逻辑运算

文章出处:【微信号:mcu168,微信公众号:硬件攻城狮】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    C语言基础知识(4)--运算符

    C语言中,运算符包括有算术运算符、关系运算符逻辑运算符运算
    的头像 发表于 06-15 09:38 3373次阅读

    C语言运算符的使用方法

    详细介绍了C语言表达式、算术运算符、赋值运算符、关系运算符、条件结构、逻辑运算符运算符的语法
    发表于 11-02 11:30 1478次阅读
    C语言<b class='flag-5'>运算符</b>的使用方法

    逻辑运算符是什么

    逻辑运算符:与或非条件结构if -else及其嵌套循环结构whilefordo-while
    发表于 07-14 07:50

    逻辑电路逻辑运算符

    一、逻辑电路逻辑运算逻辑运算符:(1)按变量整体值进行运算逻辑与(&&)逻辑或(||)
    发表于 07-16 10:51

    条件运算符是什么_条件运算符有哪些

    运算符优先级高于赋值、逗号运算符,低于其他运算符。关系运算实际上是逻辑比较运算,它是
    发表于 11-16 16:02 1.1w次阅读
    条件<b class='flag-5'>运算符</b>是什么_条件<b class='flag-5'>运算符</b>有哪些

    C运算符的优先级和结合性详细解决

    运算符是一种告诉编译器执行特定的数学或逻辑操作的符号。 C语言内置了丰富的运算符,大体可分为10类:算术运算符、关系
    的头像 发表于 02-22 17:27 3200次阅读

    浅析MySQL的各类运算符

    MySQL支持多种运算符,我们在写SQL脚本时经常会需要用到各种各样的运算符,这些运算符可以用来连接表达式,进而从数据库查询我们需要的结果集等。这些类型主要包括算术
    的头像 发表于 05-03 17:41 2028次阅读
    浅析MySQL<b class='flag-5'>中</b>的各类<b class='flag-5'>运算符</b>

    python运算符是什么

    运算符: 算术运算符 比较(关系)运算符 赋值运算符 逻辑运算符
    的头像 发表于 02-21 16:44 2352次阅读

    什么是逻辑运算符

    逻辑运算符对其操作数求值,并返回一个值,该值指示求值结果是真还是假(true or false)。例如,运算a && b测试a和b是否都为真,如果两个操作数都为真,则运算符返回真。否则,运算符
    的头像 发表于 02-09 15:55 1971次阅读
    什么是<b class='flag-5'>逻辑运算符</b>

    逻辑运算符与表达式

    逻辑运算符逻辑表达式可以实现的编辑,比如的清零、设置、取反和取补等操作。使用
    的头像 发表于 02-21 15:22 1213次阅读
    <b class='flag-5'>位</b><b class='flag-5'>逻辑运算符</b>与表达式

    C语言逻辑运算符优先次序

    有3种逻辑运算符:与(AND),或(OR),非(NOT)。在basic和Pascal等语言可以在程序中直接用and,or,not作为逻辑运算符。在C语言中不能再程序中直接使用,而是用其他符号代替。
    的头像 发表于 03-09 10:49 2966次阅读

    Go语言运算符主要包括哪些呢?

    Go语言运算符主要包括:算数运算符、关系运算符逻辑运算符运算符、赋值
    的头像 发表于 05-26 15:54 837次阅读
    Go语言<b class='flag-5'>运算符</b>主要包括哪些呢?

    KUKA机器人的逻辑运算符

    逻辑运算符用于布尔变量、常数和简单的、借助比较运算符构成的逻辑表达式的逻辑运算
    发表于 07-21 10:06 2410次阅读
    KUKA机器人的<b class='flag-5'>逻辑运算符</b>

    verilog的逻辑运算符

    的相关知识,希望对各位有所帮助。 分类 按照常见的几类verilog逻辑运算符可以将其分为以下几类 逻辑运算符:、||、! 和||是双目运算,用在两个数之间;!为单目运算符用在
    的头像 发表于 09-21 10:07 2199次阅读
    verilog的<b class='flag-5'>逻辑运算符</b>

    逻辑运算符两侧运算对象的数据类型是

    逻辑运算符是编程中常用运算符之一,用于判断两个表达式之间的关系,并返回布尔值结果。在逻辑运算,两侧
    的头像 发表于 11-30 14:15 1636次阅读