【学习笔记】1、数字逻辑概论

1.1 数字信号

  • 数字信号,在时间和数值上均是离散的。
  • 数字信号的表达方式:二值数字逻辑和逻辑电平描述的数字波形。

(1) 数字波形的两种类型

  • 数值信号又称为“二值信号”。数字波形又称为“二值位形图”。

什么是一拍

  • 一定的时间间隔T,称为1bit,或者1拍。

非归零型,数字波形

  • 在一个时间拍内,高电平1,低电平0。
  • 大多数数值信号都是非归零型。
  • 非归零信号,每位数据占用一个位时间T。每秒钟传输数据的位数称为数据率(比特率)。

归零型,数值波形

  • 在一个时间拍内,有脉冲表示1,无脉冲表示0。
  • 只有作为时序控制信号使用的时钟脉冲是归零型。
    在这里插入图片描述

(2)周期性和非周期性

  • 周期性数字波形,常用周期T和频率f来描述。
    占空比=脉宽/周期
    q ( % ) = t w T ∗ 100 % q(\%)= \frac{t_w}{T} *100\% q(%)=Ttw100%
  • 占空比为50%的矩形脉冲,被称为“方波”。此时0和1交替出现,时间相同。

(3)实际数字信号波形

  • 上升时间tr,脉冲幅度从10%-90%所经历的时间。几纳秒。
  • 下降时间tf,脉冲幅度从90%-10%所经历的时间。几纳秒。
  • 脉冲宽度tw,脉冲幅度50%的两个时间点的时间间隔。

(4)时序图

  • 数字电路中,常用时序图或者脉冲波形图,来分析逻辑。

1.2 数制

(1)十进制

  • 任何一个数,都可以用0123456789等是个数码中的一个或几个,按照一定的规律排列起来表示。
  • 逢十进一。9+1=10(十)。
  • 十进制是以10为基数的计数体制。
  • 用数字电路来存储或者处理十进制数是很不方便的。因为构成数字电路的基本思路是把电路的状态与数码对应起来。

(2)二进制

  • 只有0和1两个数码。
  • 逢二进一。1+1=10(壹零)。
  • 二进制是以2为基础的计数体制。
  • 二进制的数字装置简单可靠,可用元件少。易于电路实现。
  • 二进制的基本运算规则简单,运算操作方便。位数太多。

(3)十 - 二进制之间的转换

  • 二进制转为十进制
    ( 1010110 ) B = 1 ∗ 2 6 + 0 ∗ 2 5 + 1 ∗ 2 4 + 0 ∗ 2 3 + 1 ∗ 2 2 + 1 ∗ 2 1 + 0 ∗ 2 0 = ( 86 ) D (1010110)_B = 1 * 2^6 + 0 * 2^5 + 1 * 2^4 + 0 * 2^3 + 1 * 2^2 + 1 * 2^1 + 0 * 2^0 = (86)_D (1010110)B=126+025+124+023+122+121+020=(86)D

  • 十进制转为二进制
    ( 37 ) D = ( 100101 ) B (37)_D = (100101)_B (37)D=(100101)B
    在这里插入图片描述
    ( 0.706 ) D = ( 0.101101001 ) B (0.706)_D = (0.101101001)_B (0.706)D=(0.101101001)B
    要求误差不大于2^-10。
    在这里插入图片描述

(4)十六进制和八进制

  • 为了方便书写和记忆,在计算机资料中,常用十六进制或者八进制表示数值。与二进制之间转换容易。
  • 十六进制有十六个数码,0123456789abcdef。
  • 十六进制,逢十六进一。
  • 十六进制是以16为基数的计数体制。
  • 八进制有八个数码,01234567。
  • 八进制,逢八进一。

1.3 二进制数的算术运算

(1)无符号二进制数的算术运算

  • 二进制加法。
  • 二进制减法。无符号减法计算,要求被减数一定要大于减数。
  • 乘法运算和除法运算。可以使用类似于10进制乘除的方法。

(2)带符号二进制数的减法运算

  • 十进制的补码表示。

  • R表示基数,在二进制时,R=2,十进制时,R=10。

  • N表示原码。

  • n表示位数。
    ( N ) 补 = R n − N (N)_补 = R^n - N (N)=RnN
    − N = ( N ) 补 − R n -N = (N)_补 -R^n N=(N)Rn

  • 以十进制为例,2的补码 = 10^1 - 2 = 8

  • 以十进制为例,46的补码 = 10^2 - 46 = 54
    8 − 2 = 8 + ( 2 ) 补 − 10 = 8 + 8 − 10 = 6 8 - 2 = 8 + (2)_补 - 10 = 8 +8 - 10 = 6 82=8+(2)10=8+810=6

  • 二进制的补码表示。

  • 补码或者反码的最高位为符号位,正0,负1。

  • 当二进制数为正数时,其补码,反码,原码相同。

  • 当二进制数为负数时,对原码的数值位进行“取反加一”,得到补码。

1.4 二进制代码

  • 数字系统中,信息可分为“数值”或者“文字符号”。
  • 文字符号也可以使用二进制数码表示。这些数码不表示数量的大小,仅用于区别不同的事物。
  • 称呼这样的二进制数码为“代码”。
  • 编码: 以一定的规则编制“代码”的过程(十进制数值、字母、符号等实际含义 -> “代码”)。
  • 译码:将“代码” 还原成实际含义的过程。

(1)二-十进制码

  • 二-十进制码,Binnary Coded Decimal 。BCD码。
  • 用4位二进制数,表示1位十进制数。
  • 8421BCD码。“有权码”。自然二进制数的前10种组合。
  • 2421BCD码。“有权码”。“自补码”。各数的“代码”,取反之后的“代码”,与原数“代码”关于9互补。
  • 5421BCD码。“有权码”。
  • 余3码。 “无权码”。8421+3得到“余三码”。具有“自补性”。
  • 余3循环码。 “无权码”。“相邻性”。“格雷码”去掉首尾各自3种状态得到“余3循环码”

(2)格雷码

  • 无权码,相邻只变一位。
  • 模拟量 转换 成 数值时,用文字符号表示其数值。当模拟量发生微小变化而引发数值量从1位变化到相邻位时,格雷码可以保证只有一位变化。
  • 细微的模拟量变化,如果发生多位位值变化的情况,在硬件实现时,不能保证多位同时翻转到最终值,会出现瞬间的错误码。
  • 细微模拟量变化时,格雷码可以避免错误码的出现。

(3)ASCII码

  • 使用7位二进制码,表示128个文字字符,包括十进制数码元,英文大小写,控制符,运算符,特殊符号。

1.5 二值逻辑变量与基本逻辑运算

  • 逻辑运算 不是 算术运算。
  • 逻辑变量可以用ABCxyz等字母表示。
  • 逻辑变量的取值只能是0和1。表示完全对立的逻辑状态。

(1)与运算

  • 运算符号:“·”点乘(可以省略)。或者“∧” 和“∩”。
    在这里插入图片描述
  • 与逻辑真值表
ABL=A·B
000
010
100
111

(2)或运算

  • 运算符号:“+” 。或者“∨”和“∪”。

在这里插入图片描述

ABL=A+B
000
011
101
111

(3)非运算

  • 运算符号:“ ̄”。或者“~”,“ ’ ’” ,“ ﹁”。
    在这里插入图片描述
AL= A ‾ \overline{\text{A}} A
01
10

(3)几种常用逻辑运算

  • 与非
    在这里插入图片描述
ABL= A ⋅ B ‾ \overline{A·B} AB
001
011
101
110
  • 或非
    在这里插入图片描述
ABL= A + B ‾ \overline{A+B} A+B
001
010
100
110
  • 异或
    在这里插入图片描述
ABL= A ‾ \overline{A} AB+A B ‾ \overline{B} B=A⊕B
000
011
101
110
  • 同或
    在这里插入图片描述
ABL= AB+ A B ‾ \overline{AB} AB=A⊙B
001
010
100
111

1.6 逻辑函数及其表示方法

  • 输入逻辑变量,只取0或1
  • 输出逻辑变量,只取0或1
  • 逻辑函数。
  • 逻辑函数的描述方法有:真值表、逻辑函数表达式、逻辑图、波形图、卡诺图。

(1)真值表

ABL= AB+ A B ‾ \overline{AB} AB=A⊙B
001
010
100
111

(2)逻辑表达式

L= AB+ A B ‾ \overline{AB} AB=A⊙B

(3)逻辑图表示方法

在这里插入图片描述

(4)波形图表示方法

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

最新ChatGPT网站系统源码+详细搭建部署教程+Midjourney绘画AI绘画

一、前言 SparkAi创作系统是基于ChatGPT进行开发的Ai智能问答系统和Midjourney绘画系统,支持OpenAI-GPT全模型国内AI全模型。本期针对源码系统整体测试下来非常完美,可以说SparkAi是目前国内一款的ChatGPT对接OpenAI软件系统。那么如何搭建部署AI创作Ch…

Java学习苦旅(二十三)——二叉搜索树

本篇博客将详细讲解二叉搜索树。 文章目录 二叉搜索树概念操作查找插入删除 性能分析 结尾 二叉搜索树 概念 二叉搜索树又称二叉排序树,它或者是一棵空树,或者是具有以下性质的二叉树: 若它的左子树不为空,则左子树上所有节点的值都小于根…

uniapp微信小程序投票系统实战 (SpringBoot2+vue3.2+element plus ) -全局异常统一处理实现

锋哥原创的uniapp微信小程序投票系统实战: uniapp微信小程序投票系统实战课程 (SpringBoot2vue3.2element plus ) ( 火爆连载更新中... )_哔哩哔哩_bilibiliuniapp微信小程序投票系统实战课程 (SpringBoot2vue3.2element plus ) ( 火爆连载更新中... )共计21条视频…

Packet Tracer - Configure AAA Authentication on Cisco Routers

Packet Tracer - 在思科路由器上配置 AAA 认证 地址表 目标 在R1上配置本地用户账户,并使用本地AAA进行控制台和vty线路的身份验证。从R1控制台和PC-A客户端验证本地AAA身份验证功能。配置基于服务器的AAA身份验证,采用TACACS协议。从PC-B客户端验证基…

LeetCode 2807. 在链表中插入最大公约数【链表,迭代,递归】1279

本文属于「征服LeetCode」系列文章之一,这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁,本系列将至少持续到刷完所有无锁题之日为止;由于LeetCode还在不断地创建新题,本系列的终止日期可能是永远。在这一系列刷题文章…

Java多线程技术11——ThreadPoolExecutor类的使用1

1 概述 ThreadPoolExecutor类可以非常方便的创建线程池对象,而不需要程序员设计大量的new实例化Thread相关的代码。 2 队列LinkedBlockingQueue的使用 public class Test1 {public static void main(String[] args) {LinkedBlockingQueue queue new LinkedBlocki…

LeetCode-移动零(283)

题目描述: 给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。 请注意 ,必须在不复制数组的情况下原地对数组进行操作。 思路: 这里的思路跟以前做过的去重复数字的思路有点像&…

字符输入输出 C语言xdoj16

问题描述: 通过键盘输入5个大写字母,输出其对应的小写字母,并在末尾加上“!”。 输入说明: 5个大写字母通过键盘输入,字母之间以竖线“|”分隔。 输出说明: 输出5个大写字母对应的小写字母&…

多线程模板应用实现(实践学习笔记)

出处:B站码出名企路 个人笔记:因为是跟着b站的教学视频以及文档初步学习,可能存在诸多的理解有误,对大家仅供借鉴,参考,然后是B站up阳哥的视频,我是跟着他学。大家有兴趣的可以到b站搜索。加油…

webpack的性能优化(一)——分包优化

1.什么是分包?为什么要分包? 默认情况下,Webpack 会将所有代码构建成一个单独的包,这在小型项目通常不会有明显的性能问题,但伴随着项目的推进,包体积逐步增长可能会导致应用的响应耗时越来越长。归根结底这…

【Linux】进程信号——进程信号的概念和介绍、产生信号、四种产生信号方式、阻塞信号、捕捉信号、阻塞和捕捉信号的函数

文章目录 进程信号1.进程信号的概念和介绍2.产生信号2.1通过终端按键产生信号2.2 调用系统函数向进程发信号2.3 由软件条件产生信号2.4硬件异常产生信号 3.阻塞信号3.1信号在内核中的表示3.2信号集操作函数3.3sigprocmask 4.捕捉信号4.1内核如何实现信号的捕捉4.2 sigaction 进…

【AI视野·今日Robot 机器人论文速览 第七十一期】Fri, 5 Jan 2024

AI视野今日CS.Robotics 机器人学论文速览 Fri, 5 Jan 2024 Totally 11 papers 👉上期速览✈更多精彩请移步主页 Daily Robotics Papers Machine Learning in Robotic Ultrasound Imaging: Challenges and Perspectives Authors Yuan Bi, Zhongliang Jiang, Felix D…

线性代数 --- 矩阵行列式的性质

Determinant det A|A| 矩阵的行列式是一个数,这个数能够反应一些关于矩阵的信息。行列式只对方阵有效。 若矩阵A为: 则A的行列式为: 性质1: 单位矩阵的行列式等于1 性质2:行与行之间的交换会改变det的正负号 以2x2单位…

Mybatis入门源码二:sql执行

后面开始分析sql执行的源码流程也就是这一部分 一、factory.openSession() 重点关注configuration.newExecutor这个方法,获取事务处理器比较简单,就是获取一个jdbc的事务管理器。 这个方法通过传入的执行器类型来创建不同的执行器,有simp…

x-cmd pkg | trdsql - 能对 CSV、LTSV、JSON 和 TBLN 执行 SQL 查询的工具

目录 简介首次用户技术特点竞品和相关作品进一步阅读 简介 trdsql 是一个使用 sql 作为 DSL 的强大工具: 采用 SQL 对 CSV、LTSV、JSON 和 TBLN 文件执行查询与 MySQL,Postgresql,Sqlite 的 Driver 协同,可以实现对应数据库的表与文件的 JO…

安全基础~信息搜集3

文章目录 知识补充APP信息搜集php开发学习理解漏洞 知识补充 端口渗透总结 python Crypto报错:https://blog.csdn.net/five3/article/details/86160683 APP信息搜集 1. AppInfoScanner 移动端(Android、iOS、WEB、H5、静态网站)信息收集扫描工具 使用教程 演示&…

超维空间M1无人机使用说明书——21、基于opencv的人脸识别

引言:M1型号无人机不仅提供了yolo进行物体识别,也增加了基于opencv的人脸识别功能包,仅需要启动摄像头和识别节点即可 链接: 源码链接 一、一键启动摄像头和人脸识别节点 roslaunch robot_bringup bringup_face_detect.launch无报错&#…

解决ImportError: Failed to import test module: sys.__init__

解决ImportError: Failed to import test module: sys.init 背景 学习通过文件夹执行测试脚本时,出现了错误:ImportError: Failed to import test module: sys.__init__ 解决过程 根据报错信息:sys is not a package大胆猜测可能是文件名…

爬虫-1-请求和响应

#无以规矩&#xff0c;不成方圆(&#xff89;_ _)&#xff89; <(_ _)> 请求和响应 案例实现

STLink下不了程序的解决办法

目录 1.检查物理接线是否正确 2.检查工程中用的引脚与这两个引脚是否有冲突 3.其次查看HAL_MspInit函数中是否使能SWJ 1.检查物理接线是否正确 2.检查工程中用的引脚与这两个引脚是否有冲突 stm32 swdio和swdclk引脚分别与stm32的PA13&#xff0c;PA14引脚相连 3.其次查看HA…