10.17课上(七段显示器,递归异或与电路)

异或的递归与数电实现

用二选一选择器实现异或函数

在异或当中,如果有一项为0,就可以把那一项消掉;如果有一项为1,就是把剩下的所有项运算完的结果取反

(由此在算法当中可以采用递归解决)

当w1为0时,就直接把w1消掉,对剩余项无影响;

当w1为1时,把后面运算的结果取反

当w2为0时,就直接把w2消掉,只剩下w3,根据前面w1,w2的情况确定是正还是反

如果前面有0个1,就是都直接消掉,没影响,输出为w3

有1个1时,取反一次,输出为w3的反

有2个1时,取反两次,输出为w3

两个2-4译码器和一个1-2译码器构建为3-8译码器

四个2-4译码器和一个2-4译码器构建为4-16译码器

代码转化器(七段显示器)

译码器和编码器都是将一种类型的输入编码转化成另一种不同的输出编码

3-8译码器将输入的二进制 转为独热码(3位转为8位)

8-3将独热码转为二进制(8变3)

十六进制信息代码转化器,将一个十六进制转为人能看懂的十六进制数

超过十的部分为a,b,c,d,e.f(10~15)

输入通过代码转换器将信号转化为显示器要显示的信号

一个十六进制数要4位二进制,能表示0~15.

通过转化器转为图形化信号,让人能看懂。

比如0000,在七段显示器中的信号为只有g不亮,其他都亮,效果就是一个0

0001,就是只有b,c亮,显示为1

1000,全都亮,表示为8

相关推荐
代码探秘者1 天前
【算法篇】3.位运算
java·数据结构·后端·python·算法·spring
Aaswk1 天前
回溯算法的本质理解
c语言·算法·leetcode·力扣·剪枝
迷海1 天前
力扣原题《分发糖果》,采用二分原则,纯手搓,待验证
c++·算法·leetcode
玛卡巴卡ldf1 天前
【LeetCode 手撕算法】(普通数组)53-最大子数组和、56-合并区间、189-轮转数组、238-除了自身以外数组的乘积
数据结构·算法·leetcode
j_xxx404_1 天前
蓝桥杯基础--模拟
数据结构·c++·算法·蓝桥杯·排序算法
Sakinol#1 天前
Leetcode Hot 100 ——动态规划part02
算法·leetcode·动态规划
sqyno1sky1 天前
零成本抽象在C++中的应用
开发语言·c++·算法
cm6543201 天前
C++中的职责链模式
开发语言·c++·算法
Anastasiozzzz1 天前
告别 Class:深入理解 Go 语言的面向对象编程
开发语言·后端·golang
XiYang-DING1 天前
【Java SE】JVM字符串常量池:位置、创建流程、对象个数与 `intern()`
java·开发语言·jvm