使用晶体管做布尔逻辑和逻辑门
目录
二进制,三进制,五进制
true,false表示0,1
早期计算机采用进制
布尔逻辑
三个基本操作:NOT,AND,OR
基础“真值表”
NOT 如何实现?
AND如何实现?
OR如何实现?
图标表示
XOR亦或
原文视频
二进制,三进制,五进制
true,false表示0,1
电路闭合,电流流过,代表“true真”;电路断开,无电流流过,代表false。
二进制可以写成0和1,而不是true和false
早期计算机采用进制
晶体管不仅可以控制电流开关,还可以控制电流大小,比如一些早期计算机是三进制的,有三种状态;五进制,五种状态。状态越多越难区分信号。而且抗干扰能力会越差(如果附件有电噪音,信号混在一起,每秒百万次变化的晶体管会让信号变得更复杂)
因此,应该尽可能把两种信号分开,只用两种开关01状态来减少这类问题:
布尔逻辑
有一个数学分支的存在,专门用于处理“真”和“假”,已经解决了所有法则和运算,叫布尔代数(布尔是由Grorge Boole由来,他用数学扩展亚里士多德基于哲学的逻辑方法)
布尔用 逻辑 方程 系统而正式的证明真理(truth),在1847年的第一本书《逻辑的数学分析》中介绍过:
“在常规代数里,在高中学的那种变量的值是数字,可以进行加减乘除之类的操作;但在布尔代数中,变量的值是true,false,可以进行逻辑操作”
三个基本操作:NOT,AND,OR
基础“真值表”
晶体管中有一个是控制线路,两个是电极。控制线路通电,半导体就会通电,底部的电极就有电流流出;反之亦然。
电流是从上到下流动的。 控制线路可以想象成输入,底部的电极想象成输出。一个晶体管有一个输入和输出。控制线路通电(输入打开)半导体就会导电,底部电极就有电路i流出(输出也会打开);反过来控制线路没有电流(false)时半导体就不导电,因此下面的电极就没有电流就是false
转换为布尔函数就是输入为true,输出为true;输入为false,输出也为false。这个叫做“真值表”:
NOT 如何实现?
布尔值反转,true进行NOT就是false,反之亦然.。
思路就是把输出的电线放到上面的电极当作OUTPUT;下面的电极接地。
一定要注意:电流是从上到下流动的。当有输入时,半导体会导电,下面会受到电流,这时候将下面的电极接地,这样电流就都经过了下面的电极,把输出的电线放到上面的电极当作OUTPUT就没有电流了(输入为true输出为false);如果没有输入时,半导体不导电,电流就会走OUTPUT。
这个是不是就可以实现,图示:
这个叫做NOT门,门是因为可以控制电流路径
AND如何实现?
有两个输入和一个输出构成,只有两个输入都是true时,输出才会也是true。 这个比上面的那个好理解。
- 电流从左到右流动,如果第一个打开了,第二个输入没打开,就是这个样子:电流没有到达OUTPUT:
- 如果第一个没打开,第二个打开了,更没有用,电流第一个都不会经过:
- 只有都打开OUT才会收到电流:
OR如何实现?
和AND正好相反,都有两个输入一个输出,两个输出都是false时,输出才会false。
上面的线都是串联,这个OR实现用的时并联
下面那条线中第一个输入和第二个输入的中间是一个小“拱门”,代表第一个输入的电流可以跨过去。
就不放图了,只要任意一个输入打开,OUT都可以收到电流(下面的小拱门会把第一个输入的电流跨过去),只有都不打开OUTPUT才会收不到电流
图标表示
XOR亦或
和异或有一个不同就是:输入都是true的时候,输出是false
直接放组成图吧:
通过小拱门保证还是两个输入;true,true要返回false可以拆分成true AND true在 NOT 变为false,利用原有的OR的功能只要有一个false就是false,最后将这两个功能AND 最后就是false。
图标符号:一个OR门加一个笑脸😊
原文视频
【计算机科学速成课】[40集全/精校] - Crash Course ComputerScience
Youtube 原视频
原文链接:使用晶体管做布尔逻辑和逻辑门 - 掘金 (juejin.cn)
相关文章:
使用晶体管做布尔逻辑和逻辑门
目录 二进制,三进制,五进制 true,false表示0,1 早期计算机采用进制 布尔逻辑 三个基本操作:NOT,AND,OR 基础“真值表” NOT 如何实现? AND如何实现? OR如何实现? 图标表示…...
Linux系统编程系列之线程的信号处理
一、为什么要有线程的信号处理 由于多线程程序中线程的执行状态是并发的,因此当一个进程收到一个信号时,那么究竟由进程中的哪条线程响应这个信号就是不确定的,只能取决于哪条线程刚好在信号达到的瞬间被调度,这种不确定性在程序逻…...
【C语言】青蛙跳台阶 —— 详解
一、问题描述 跳台阶_牛客题霸_牛客网 (nowcoder.com) LCR 127. 跳跃训练 - 力扣(LeetCode) 二、解题思路 1、当 n 1 时,一共只有一级台阶,那么显然青蛙这时就只有一种跳法 2、当 n 2 时,一共有两级台阶ÿ…...
Java - 基本数据类型和封装类型
基本类型有默认值,而包装类型初始为null。然后再根据这两个特性进行分业务使用,在阿里巴巴的规范里所有的POJO类必须使用包装类型,而在本地变量推荐使用基本类型。 Java语言提供了八种基本类型。六种数字类型(四个整数型ÿ…...
day-63 代码随想录算法训练营(19) 图论 part 02
1020.飞地的数量 分析:求不跟边界接壤的陆地的数量 思路一:深度优先遍历 先从四个侧边找陆地,然后进行深度优先遍历,把所有接壤的陆地(1)全部转换成海洋(0) 深度优先遍历…...
SpringBoot的全局异常拦截
在 Spring Boot 中,可以通过使用 ControllerAdvice 注解和 ExceptionHandler 注解来实现全局异常拦截。 RestControllerAdvice RestControllerAdvice 是 Spring Framework 提供的注解,用于定义全局异常处理类,并且结合 ExceptionHandler 注…...
『力扣每日一题11』:转换成小写字母
一、题目 给你一个字符串 s ,将该字符串中的大写字母转换成相同的小写字母,返回新的字符串。 示例 1: 输入:s "Hello" 输出:"hello"示例 2: 输入:s "here" 输…...
复习Day07:链表part03:21. 合并两个有序链表、2. 两数相加
之前的blog链接:https://blog.csdn.net/weixin_43303286/article/details/131700482?spm1001.2014.3001.5501 我用的方法是在leetcode再过一遍例题,明显会的就复制粘贴,之前没写出来就重写,然后从拓展题目中找题目来写。辅以Lab…...
Ubuntu中启动HDFS后没有NameNode解决办法
关闭进程: stop-dfs.sh 格式化: hadoop namenode -format 出现报错信息: 23/10/03 22:27:04 WARN fs.FileUtil: Failed to delete file or dir [/usr/data/hadoop/tmp/dfs/name/current/fsimage_0000000000000000000.md5]: it still exi…...
AWS-Lambda之导入自定义包-pip包
参考文档: https://repost.aws/zh-Hans/knowledge-center/lambda-import-module-error-python https://blog.csdn.net/fxtxz2/article/details/112035627 简单来说,以 " alibabacloud_dyvmsapi20170525 " 包为例 ## 创建临时目录 mkdir /tmp cd ./tmp …...
MAC 如何解决GitHub下载速度慢的问题
说在前面 解决github下载速度慢的方法很多,本文主要介绍通过Git镜像的方式解决下载慢的问题。 主要步骤有:1、找到gitconfig文件, 2、通过git命令查看当前生效的config 配置 3、使用git config命令编辑并添加国内镜像源 1、gitconfig 文件在…...
Redis与分布式-哨兵模式
接上文 Redis与分布式-主从复制 1.哨兵模式 启动一个哨兵,只需要修改配置文件即可, sentinel monitor lbwnb 1247.0.0.1 6001 1先将所有服务关闭,然后修改配置文件,redis Master,redis Slave,redis Slave…...
创建型设计模式 原型模式 建造者模式 创建者模式对比
创建型设计模式 单例 工厂模式 看这一篇就够了_软工菜鸡的博客-CSDN博客 4.3 原型模式 4.3.1 概述 用一个已经创建的实例作为原型,通过复制该原型对象来创建一个和原型对象相同的新对象。 4.3.2 结构 原型模式包含如下角色: 抽象原型类:规定了…...
HTML详细基础(二)文件路径
目录 一.相对路径 二.绝对路径 三.超链接标签 四.锚点链接 首先,扩展一些HTML执行的原理: htmL(hypertext markup Language) 是一种规范(或者说是一种标准),它通过标记符(tag)来标记要显示…...
大数据-玩转数据-Flink 海量数据实时去重
一、海量数据实时去重说明 借助redis的Set,需要频繁连接Redis,如果数据量过大, 对redis的内存也是一种压力;使用Flink的MapState,如果数据量过大, 状态后端最好选择 RocksDBStateBackend; 使用布隆过滤器,…...
1.在vsCode上创建Hello,World
(1).编译器的安装配置 使用vsCode进行编写c语言,首先需要安装gcc编译器,可以自己去寻找资料或者gcc官网进行下载. 下载好后,将文件夹放入到自己指定的目录后,配置系统环境变量,将path指向编译器的bin目录 进入bin目录打开cmd,输入gcc -v,然后就会成功输出信息. (2).vsCode配…...
XrayGLM - 医学大模型
文章目录 关于 XrayGLM研究背景VisualGLM-6B 关于 XrayGLM XrayGLM: 首个会看胸部X光片的中文多模态医学大模型 | The first Chinese Medical Multimodal Model that Chest Radiographs Summarization. 基于VisualGLM-6B 微调 github : https://github.com/WangRongsheng/Xra…...
Hive 常见数据倾斜场景及解决方案(Map\Join\Reduce端)
目录 MapReduce流程简述a) Map倾斜b) Join倾斜c) Reduce倾斜 首先回顾一下MapReduce的流程 MapReduce流程简述 输入分片: MapReduce 作业开始时,输入数据被分割成多个分片,每个分片大小一般在 16MB 到 128MB 之间。这些分片会被分配给不同的…...
C++中的四种强制类型转换符详解
前 言 C 既支持 C 风格的类型转换,又有自己风格的类型转换。C 风格的转换格式很简单,但是有不少缺点: 转换太过随意,可以在任意类型之间转换。你可以把一个指向 const 对象的指针转换成指向非 const 对象的指针,把一…...
Windows电脑多开器的优缺点对比
Windows电脑多开器是一种能够让用户同时运行多个应用程序、游戏或者网页的软件工具。它的作用在于让用户能够更加高效地工作、学习或者娱乐。但是,这种软件也存在一些优劣势的对比。 优点: 提升工作效率。多开器可以让用户同时打开多个应用程序或者网页…...
Java笔记六(面向对象:类与对象)
面向对象编程的本质:以类的方式组织代码,以对象的组织(封装)数据 抽象 三大特征:封装 继承 多态 从认识角度考虑是先有对象后有类。对象,是具体的事物。类,是抽象的,是对对象的抽…...
Git使用【中】
欢迎来到Cefler的博客😁 🕌博客主页:那个传说中的man的主页 🏠个人专栏:题目解析 🌎推荐文章:题目大解析3 目录 👉🏻分支管理分支概念git branch(查看/删除分…...
Greenplum7一键安装
2023年9月底,Greenplum 发布了7.0.0版本,并于2023年10月03日开放了安装部署说明文档,现在快速尝鲜版的docker一键部署方式如下: mkdir /data/gpdb docker run -d --name greenplum -p 15432:5432 -v /data/gpdb:/data inrgihc/g…...
Springboo整合Sentinel
Springboo整合Sentinel 1.启动Sentinel java -jar sentinel-dashboard-1.8.6.jar2.访问localhost:8080到Sentinel管理界面(默认账号和密码都是sentinel) 3.引入依赖(注意版本对应) <dependency><groupId>com.alibaba.cloud</groupId><artifactId>spr…...
python爬取csdn个人首页中的所有封面
#爬取csdn个人首页中的所有封面 import requests import json import reurlhttps://blog.csdn.net/community/home-api/v1/get-business-list? headers{User-Agent:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safar…...
EasyHttp - 网络请求,如斯优雅
官网 项目地址:Github博客地址:网络请求,如斯优雅 OkHttp 另外对 OkHttp 原理感兴趣的同学推荐你看以下源码分析文章 OkHttp 精讲:拦截器执行原理OkHttp 精讲:RetryAndFollowUpInterceptorOkHttp 精讲:…...
【Java】Stream的基本使用
Stream特点 Stream的一系列操作组成了Stream的流水线, Stream流水线包含: 数据源: 这里的数据源可能是集合/数组, 可能是生成器, 甚至可能是IO通道(Files.lines)零个或多个中间操作: 中间操作会导致流之间的转化, 如filter(Predicate)一个终端操作: 终端操作会产生最终所需要的…...
idea Springboot 高校科研资源共享系统VS开发mysql数据库web结构java编程计算机网页源码maven项目
一、源码特点 springboot 高校科研资源共享系统是一套完善的信息系统,结合springboot框架和bootstrap完成本系统,对理解JSP java编程开发语言有帮助系统采用springboot框架(MVC模式开发), 系统具有完整的源代码和数据…...
机器学习算法基础--K-means应用实战--图像分割
目录 1.项目内容介绍 2.项目关键代码 3.项目效果展示 1.项目内容介绍 本项目是将一张图片进行k-means分类,根据色彩k进行分类,最后比较和原图的效果。 题目还是比较简单的,我们只要通过k-means聚类,一类就是一种色彩得出聚类之…...
CSS学习小结
css的两种使用方式: ①内嵌样式表 ②导入外部样式表(实际开发常用)<link href"...." rel"stylesheet"/> 选择器: ①标签选择器:通过标签种类决定 ②类选择器:class"..…...
微网站怎么做滚动/seo一个月工资一般多少
闭包的形成和作用域以及生命周期有关 闭包的定义 ● 当某个函数调用时会创建一个执行环境以及作用域链,然后根据arguments和其它命名参数初始化形成活动对象。 ● 在外部函数调用结束后,其执行环境与作用域链被销毁,但是其活动对象保存在了…...
大学毕业做网站插画师好吗/全国各城市疫情高峰感染进度
背景 我试图用python编写一个基本的字母游戏。在游戏中,计算机管理员从可能的单词列表中选出一个单词。每个玩家(计算机人工智能和人类)都会显示一系列空格,每个字母对应一个单词。然后,每个玩家猜测一个字母和一个位置…...
顺德网站制作案例价位/餐饮管理和营销方案
一.生成器本质就是迭代器. 我们可以直接执⾏__next__()来执⾏ 以下⽣成器一个一个的创建对象创建生成器的方式:1.生成器函数2.通过生成器 表达式来获取生成器3.类型转换(看不到)二.生成器函数(重点) 深坑:生成器在要值得时候才拿值生成器函数中包含yield,返回数据和return差不…...
地产项目网站建设ppt/软广告经典案例
经常有同学问树结构的相关操作,也写了很多次,在这里总结一下JS树形结构一些操作的实现思路,并给出了简洁易懂的代码实现。本文内容结构大概如下:一、遍历树结构1. 树结构介绍JS中树结构一般是类似于这样的结构:let tre…...
企业网站 漏洞/中国最权威的网站排名
题目 题目分析 该题的目的是,如果一个数组中有0,把数组分为两部分,前面为原数组中不为0的元素,后面全为0,且前面的数不改变其在原数组中的相对顺序,可以用“偷梁换柱”来解该题,就是设一个变量…...
一级做爰片a视频网站试看/网络营销顾问
python2.7 URLerror error open url not found 原因是我的路径用的是// 改为/后正常。...