第一章布尔逻辑与逻辑门
前言
相信很多同学学计算机时都是直奔主题,编程语言敲代码,却对计算机一无所知,我也是这样的,这段时间不忙,记录一下学习,同时和大家分享一下,以下仅仅是我个人观点,大家有不同意见,欢迎在评论指出我的问题。
提示:以下是本篇文章正文内容,下面案例可供参考
一、布尔是什么,布尔的来源?
我们现在电脑中的布尔是一种数值称为BOOL,一般为真或假。
而它最初的时候,是为了去表示两种状态的不同:
电路闭合,电流流过,代表为"真"。
电路断开,无电流,代表为假。这两种状态也就是我们使用的1和0.
可能会有一个问题,电流大小代表数量大小是否可行,本质上是可以的,但是越多的状态就存在着越多的可能性,在外部的影响下,数据的稳定性会很差。
有和无就是相对稳定的两种状态判定。
在当时也有一类数学分支专门以该类问题,也就是真和假为处理方向,它比较有名的名字叫"布尔代数",而布尔二字的由来其实就是为了纪念数学家乔治·布尔,比较有趣的是,他确实用布尔这类数学去证明了很多哲学问题。
二、布尔运算
1.NOT
NOT也就是非,很简单的就是将当前值输出为它的反面值。
真值表如下:
非门的电路示意如下:
2.AND
其实大家也很了解,AND的作用是为了保证它两侧的内容均为真时输出才为真,否则为假
真值表如下:
电路图示意如下:
3.OR
最后一个是OR,大家也知道是当两侧均为假是输出假,否则为真。
真值表如下:
电路图示意如下:
在之前AND的基础上做一些改善,也就是将串联改为并联,有一侧为真,则输出为真。
4.XOR
今天的最后一个,XOR,也叫异或,相同为假,不同为真。
真值表如下:
电路图如下:
由于异或比较复杂,所以这里做一层抽象,将前边的几种门抽象为一个整体。
用AND和OR做两个输入门,将数据进行真假统一化,AND存在假即为假,OR存在真即为真,通过NOT门来过滤AND获得的两个真时的输出,使用AND门来判断是否两个输入不同。
总结
第一章先介绍了布尔这个概念,以及相关的运算概念,为下一章的二进制运算做铺垫。