使用晶体管做布尔逻辑和逻辑门

目录

二进制,三进制,五进制

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)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/93790.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Collagen

\ collagen XV/XVIII, Endostatin- angiogenesis inhibitor; c-type lectin 结构; TSP ( 含有 Laminin-G)

BIT.8_Linux 多线程

lesson35: 一、 1.OS调度的基本单位(0:13:5) 2.进程XXXX(0:14:15) a.进程的内核数据结构包含哪几个部分?(n个)(0:15&a…

程序员命令行 · 脚本 cheatsheet

1. 定时关机 每次晚上steam下游戏都想睡觉,steam有没有下载完成自动关机的选项。 我就根据剩余下载时间再cmd里输入命令: shutdown -s -t 600注意 “-s”是代表关闭计算机的意思,“-t 600”是代表设置在600秒后关闭计算机。 600 s 即 10 mi…

openGauss学习笔记-88 openGauss 数据库管理-内存优化表MOT管理-内存表特性-使用MOT-MOT使用将磁盘表转换为MOT

文章目录 openGauss学习笔记-88 openGauss 数据库管理-内存优化表MOT管理-内存表特性-使用MOT-MOT使用将磁盘表转换为MOT88.1 前置条件检查88.2 转换88.3 转换示例 openGauss学习笔记-88 openGauss 数据库管理-内存优化表MOT管理-内存表特性-使用MOT-MOT使用将磁盘表转换为MOT …

MQTT 服务器搭建(基于mosquitto)

1、前言 MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),是一种基于发布/订阅(publish/subscribe)模式的"轻量级"通讯协议,该协议构建于TCP/IP协议上,…

Vue项目搭建图文详解教程

版权声明 本文原创作者:谷哥的小弟作者博客地址:http://blog.csdn.net/lfdfhl 预备工作 请在本地创建文件夹用于存放Vue项目,例如:创建HelloWorld文件夹存放即将创建的Vue新项目。 创建Vue项目 首先,请在DOS中将目录…

八大排序源码(含优化)

文章目录 1、直接插入排序2、希尔排序3、选择排序4、冒泡排序5、堆排序6、快速排序快速排序递归实现霍尔法挖坑法前后指针法快速排序小区间优化 快速排序非递归实现 7、归并排序归并排序递归实现归并排序非递归 8、计数排序 大家好,我是纪宁,这篇文章是关…

多个线程启动 ,等待全部执行完毕再搜集数据

前几天在公司的项目上有个同事使用了多线程统计数据,当时出现了一个用户一直使用服务器首次登录信息作为查询信息。找了半天才发现,线程池资源同步了。后面手动将数据set进去的。 等待线程全部执行完毕,这里使用的是减法计数器,也…

[Machine Learning] Learning with Noisy Data

文章目录 Probabilistic Perspective of NoiseBias and VarianceRobustness among Surrogate Loss FunctionsNMF Probabilistic Perspective of Noise 假设数据来源于一个确定的函数,叠加了高斯噪声。我们有: y h ( x ) ϵ y h(x) \epsilon yh(x)ϵ…

[Realtek sdk-3.4.14b]RTL8197FH-VG 2.4G to WAN吞吐量低于60%的问题分析及解决方案

问题描述 RTL8197FH-VG 2.4G wifi to WAN吞吐量低于65%的标准,正常2T2R的wifi 300Mbps x 65% = 195Mbps,但是实际只能跑到160Mbps,这个时候CPU的idl已经为0,sirq占用率达到98%左右 网络拓扑 一台PC通过2.4G WiFi连接到RTL8197FH-VG,另外一台PC直接通过WAN口连接到RTL8197…

【pwn入门】用gdb实现第1个pwn

声明 本文是B站你想有多PWN学习的笔记&#xff0c;包含一些视频外的扩展知识。 有问题的源码 #include <stdio.h> #include <stdlib.h> #include <unistd.h> char sh[]"/bin/sh"; int func(char *cmd){system(cmd);return 0; }int main(){char …

Spring boot接收zip包并获取其中excel文件的方法

1、问题 工作中遇到一个需求&#xff0c;接收一个zip包&#xff0c;读取其中的excel文件并处理&#xff0c;减少用户多次选择目录和文件的痛点&#xff0c;该zip包包含多级目录 2、依赖 需要用到apache的Workbook类来操作Excel&#xff0c;引入以下依赖 <dependency>&l…

C++中的四种强制类型转换符详解

前 言 C 既支持 C 风格的类型转换&#xff0c;又有自己风格的类型转换。C 风格的转换格式很简单&#xff0c;但是有不少缺点&#xff1a; 转换太过随意&#xff0c;可以在任意类型之间转换。你可以把一个指向 const 对象的指针转换成指向非 const 对象的指针&#xff0c;把一…

vue-cli搭建过程(HBuilder X搭建)

vue.js:前端主流框架&#xff08;对某一方面技术完整的封装&#xff0c;是一套完善的解决方案&#xff09; vue-cli搭建项目&#xff08;官方提供脚手架&#xff09; vue脚手架&#xff1a;是一套项目搭建的快捷方式&#xff0c;可以将项目中的依赖集成进来&#xff0c;生成统…

MongoDB快速上手

文章目录 1、mongodb相关概念1.1、业务应用场景1.2、MongoDB简介1.3、体系结构1.3.1 数据库 (databases) 管理语法1.3.2 集合 (collection) 管理语法 1.4、数据模型1.5、MongoDB的特点 2、单机部署3、基本常用命令3.1、案例需求3.2、数据库操作3.2.1 选择和创建数据库3.2.2 数据…

新一代网络框架UringNet,基于最新的异步I/O

介绍 在去年的一篇文章中&#xff0c;笔者曾经提到了最新一代的网络I/O框架UringNet。具体内容可以参考Rings’ Power,性能“世界第一”的Web I/O框架。这是基于最新Linux内核的异步I/O组件io_uring开发的网络框架。由于采用了最新的异步框架&#xff0c;因此在同等硬件配置条件…

漏洞扫描环境:win10系统用VMware Workstation打开虚拟机若干问题

win10系统用VMware Workstation打开虚拟机若干问题 一 .VMware打开虚拟机就蓝屏重启怎么解决&#xff1f;一. VMware打开虚拟机就蓝屏重启怎么解决&#xff1f;方法一&#xff1a;1、同时按下CTRLSHIFTESC打开任务管理器功能&#xff0c;之后依次点击-详细信息-性能后出现下列界…

【GPU常见概念】GPU常见概念及分类简述

随着大模型和人工智能的爆火&#xff0c;大家对GPU的关注持续上升&#xff0c;本文简单简述下GPU经常用的概念。 GPU&#xff08;图形处理器&#xff09;&#xff0c;又称显示核心、视觉处理器、显示芯片&#xff0c;是一种专门在个人电脑、工作站、游戏机和一些移动设备&…

k8s 拉取镜像报错 no basic auth credentials

文章目录 [toc]基于现有凭据创建 Secret通过命令行创建 Secretpod 使用指定 secret 认证私有镜像仓库 省流提醒&#xff1a; 本次解决的问题是 docker login 可以正常登录&#xff0c;docker pull 也可以正常拉取镜像&#xff0c;只是 k8s 在启动 pod 的时候&#xff0c;没有指…

【Java-LangChain:面向开发者的提示工程-3】迭代优化

第三章 迭代优化 当使用 LLM 构建应用程序时&#xff0c;实践层面上很难第一次尝试就成功获得适合最终应用的 Prompt。但这并不重要&#xff0c;只要您有一个好的迭代过程来不断改进您的 Prompt&#xff0c;那么您就能够得到一个适合任务的 Prompt。虽然相比训练机器学习模型&…