不管是数字电路,还是c语言,我们都会经常遇到逻辑运算和逻辑电路,在这里我介绍一下,大家先简单了解一下,知道有这么回事,回头遇到了,再详细研究。
首先,在“逻辑”这个概念范畴内,存在真和假这两个逻辑值,而将其对应到数字电路或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。
我们今后要看资料或芯片手册的时候,会经常遇到一些电路符号,表1就是数字电路中的常用符号,知道这些符号有利于我们理解器件的逻辑结构,尤其重点认识以下表中的“国外流行图形符号”。在这里我们先简单看一下,后边遇到了知道到这里查阅就可以了。
表1数字逻辑门电路
控制电路空气开关跳闸,保险丝烧坏了怎么办
解析非接触式RFID的读写器系统设计
梅宏院士谈软件定义的未来
华为和荣耀的关系本是同根生 发展却不同
Codasip宣布任命Axel Strotbek为新任董事会主席
数字电路中逻辑运算和逻辑电路知识分享
怎样改善您的手机接收能力
雅培新冠病毒检测仪获美国FDA批准 最快5分钟即可检测
AnaPico多通道相参微波信号发生器APMS系列简介
浅谈锂电池自动分选机的操作步骤
FEV推出一款适用混动车辆的全新高性能电池系统
寻找AI时代的关键拼图,从美国橡树岭国家实验室读懂AI存力信标
攻连接器市场 安费诺工业助力赫联
如何区分锰锌铁氧体磁环和镍锌铁氧体磁环
欧姆龙锁体微动开关,给你智能锁新体验!
pcb板覆铜要在哪个层 电路板一定都要覆铜吗
目前5G手机该如何解决技术掣肘
小米7什么时候上市?最新消息:小米7骁龙845+无线充电+OLED全面屏,外观配置性能升级价格3000
三星Galaxy S10确定搭载Bright Night 专门的夜间拍照模式
传感器和PLC的接线方法