自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(112)
  • 资源 (1)
  • 收藏
  • 关注

原创 day 36 贪心算法 part05● 435. 无重叠区间 ● 763.划分字母区间 ● 56. 合并区间

假设b区间左端点b[0]小于等于a区间右端点a[1],有两种情况:1、a[1]<b[1],那么合并区间选择b[1]。2、a[1]>b[1],就选a[1],而合并区间左端点始终选择a[0];就是取 区间1 和 区间2 右边界的最小值,因为这个最小值之前的部分一定是 区间1 和区间2 的重合部分,如果这个最小值也触达到区间3,那么说明 区间 1,2,3都是重合的。假设a[1]>b[0],如果a[1]>b[1],就应该以b[1]为准,否则以a[1]为准。接下来就是找大于区间1结束位置的区间,是从区间4开始。

2024-03-27 22:35:05 781

原创 day35 贪心算法 part04● 860.柠檬水找零 ● 406.根据身高重建队列 ● 452. 用最少数量的箭引爆气球

使用vector是非常费时的,C++中vector(可以理解是一个动态数组,底层是普通数组实现的)如果插入元素大于预先普通数组大小,vector底部会有一个扩容的操作,即申请两倍于原先普通数组的大小,然后把数据拷贝到另一个更大的数组上。如果把气球排序之后,从前到后遍历气球,被射过的气球仅仅跳过就行了,没有必要让气球数组remove气球,只要记录一下箭的数量就可以了。一遍过,就是有10的时候尽量把10用掉,20是用不掉的,如果发现不够找回了,就return。不知道怎么遍历符合条件的气球,射掉后怎么删掉气球。

2024-03-27 20:27:34 647

原创 day34 第八章 贪心算法 part03● 1005.K次取反后最大化的数组和 ● 134. 加油站● 135. 分发糖果

那么又是一个贪心:局部最优:只找数值最小的正整数进行反转,当前数值和可以达到最大(例如正整数数组{5, 3, 1},反转1 得到-1 比 反转5得到的-5 大多了),全局最优:整个 数组和 达到最大。情况二:rest[i] = gas[i]-cost[i]为一天剩下的油,i从0开始计算累加到最后一站,如果累加没有出现负数,说明从0出发,油就没有断过,那么0就是起点。此时局部最优:只要右边评分比左边大,右边的孩子就多一个糖果,全局最优:相邻的孩子中,评分高的右孩子获得比左边孩子更多的糖果。

2024-03-21 14:06:24 494

原创 day32 第八章 贪心算法 part02● 122.买卖股票的最佳时机II ● 55. 跳跃游戏 ● 45.跳跃游戏II

如果一开始第二个元素比第一个元素小,就选择第二个元素开始,这样买入价低,反之则是加上第二个元素和第一个元素的差价,并从第二个元素开始,比较第三个元素和第二个元素的相对大小关系。,即:移动下标只要遇到当前覆盖最远距离的下标,直接步数加一,不考虑是不是终点的情况。相当于(prices[3] - prices[2]) + (prices[2] - prices[1]) + (prices[1] - prices[0])。贪心的思路,局部最优:当前可移动距离尽可能多走,如果还没到终点,步数再加一。

2024-03-14 13:18:39 910

原创 day31 第八章 贪心算法 part01● 理论基础 ● 455.分发饼干 ● 376. 摆动序列 ● 53. 最大子序和

。贪心合理性证明:数学归纳法和反证法。。一遍过。就是小的胃口用尽量小的饼干填饱。题解:大尺寸的饼干既可以满足胃口大的孩子也可以满足胃口小的孩子,那么就应该优先满足胃口大的。然后从后向前遍历小孩数组,用大饼干优先满足胃口大的,并统计满足小孩数量。一遍过。一开始分为两个方向,递增或递减,两种情况取更大值。假设一开始递增,那么假设第二个比第一个大,那么就摆动序列长度目前为2,假如第三个比第二个大,那么序列的末尾更新为第三个元素,这样下次选递减数的范围会变大。

2024-03-13 22:10:09 1089

原创 day57 动态规划part17● 647. 回文子串 ● 516.最长回文子序列● 动态规划总结篇

布尔类型的dp[i][j]:表示区间范围[i,j] (注意是左闭右闭)的子串是否是回文子串,如果是dp[i][j]为true,否则为false。如果大家做了很多这种子序列相关的题目,在定义dp数组的时候 很自然就会想题目求什么,我们就如何定义dp数组。当s[i]与s[j]不相等,那没啥好说的了,dp[i][j]一定是false。整体上是两种,就是s[i]与s[j]相等,s[i]与s[j]不相等这两种。当s[i]与s[j]相等时,这就复杂一些了,有如下三种情况。所以i要反过来遍历,j是从左到右遍历。

2024-03-13 19:58:06 420

原创 day56 动态规划part16● 583. 两个字符串的删除操作 ● 72. 编辑距离 ● 编辑距离总结篇

word2[j - 1]),此时就需要编辑了,如何编辑呢?操作一:word1增加一个元素,使其word1[i - 1]与word2[j - 1]相同,那么就是以下标i-2为结尾的word1 与 i-1为结尾的word2的最近编辑距离 加上一个增加元素的操作。即 dp[i][j] = dp[i - 1][j] + 1;

2024-03-13 16:55:12 937

原创 day 55 动态规划part15● 392.判断子序列 ● 115.不同的子序列

当s[i - 1] 与 t[j - 1]不相等时,dp[i][j]只有一部分组成,不用s[i - 1]来匹配(就是模拟在s中删除这个元素),即:dp[i - 1][j]例如: s:bagg 和 t:bag ,s[3] 和 t[2]是相同的,但是字符串s也可以不用s[3]来匹配,即用s[0]s[1]s[2]组成的bag。所以当s[i - 1] 与 t[j - 1]相等时,dp[i][j] = dp[i - 1][j - 1] + dp[i - 1][j];

2024-03-13 15:47:48 904

原创 day53 动态规划part14● 1143.最长公共子序列 ● 1035.不相交的线 ● 53. 最大子序和 动态规划

如果text1[i - 1] 与 text2[j - 1]不相同,那就看看text1[0, i - 2]与text2[0, j - 1]的最长公共子序列 和 text1[0, i - 1]与text2[0, j - 2]的最长公共子序列,取最大的。如果text1[i - 1] 与 text2[j - 1]相同,那么找到了一个公共元素,所以dp[i][j] = dp[i - 1][j - 1] + 1;即:dp[i][j] = max(dp[i - 1][j], dp[i][j - 1]);

2024-03-12 23:23:05 379

原创 day52 动态规划part13● 300.最长递增子序列 ● 674. 最长连续递增序列 ● 718. 最长重复子数组

考虑到一般动态规划的写法是n方,为了降低复杂度,考虑每次假如选择当前数dp[i]对应最长的序列,就找前面上一个数(已经做递推的时候记录了上一个数的比他小的一个数,因为等于上一个比他小的数的序列长度(已经最大)加1,所以不一定是离当前数的比他小的最近的数)题解其实是一般的n方动态规划写法。一遍过因为本题要求连续递增子序列,所以就只要比较nums[i]与nums[i - 1],而不用去比较nums[j]与nums[i] (j是在0到i之间遍历)。

2024-03-11 16:14:24 370

原创 day51 动态规划part12 ● 309.最佳买卖股票时机含冷冻期 ● 714.买卖股票的最佳时机含手续费 ●总结

一遍过,只是多了手续费。

2024-03-10 21:54:02 376

原创 day 50 第九章 动态规划part11● 123.买卖股票的最佳时机III ● 188.买卖股票的最佳时机IV

现在最大的时候一定是卖出的状态,而两次卖出的状态现金最大一定是最后一次卖出。如果想不明白的录友也可以这么理解:如果第一次卖出已经是最大值了,那么我们可以在当天立刻买入再立刻卖出。所以dp[4][4]已经包含了dp[4][2]的情况。也就是说第二次卖出手里所剩的钱一定是最多的。我自己的代码修改后了结果,调试发现是初始化的问题,少了dp[0][0][2]=-prices[0];写了个不对的版本,转移方程写对了,但初始化有问题。这边就是上一题的一般版本。其实可以设为五个状态,

2024-03-10 18:14:25 401

原创 day 49 动态规划 part 10● 121. 买卖股票的最佳时机 ● 122.买卖股票的最佳时机II

中,因为股票全程只能买卖一次,所以如果买入股票,那么第i天持有股票即dp[i][0]一定就是 -prices[i]。而本题,因为一只股票可以买卖多次,所以当第i天买入股票的时候,所持有的现金可能有之前买卖过的利润。那么第i天持有股票即dp[i][0],如果是第i天买入股票,所得现金就是昨天不持有股票的所得现金 减去 今天的股票价格 即:dp[i - 1][1] - prices[i]。第三种动态规划:因为只和前一个状态有关,所以可以用滚动数组实现。看了题解,第一种暴力,两个for循环。

2024-03-10 14:22:32 370

原创 day48 ● 198.打家劫舍 ● 213.打家劫舍II ● 337.打家劫舍III

如果偷第i房间,那么dp[i] = dp[i - 2] + nums[i] ,即:第i-1房一定是不考虑的,找出 下标i-2(包括i-2)以内的房屋,最多可以偷窃的金额为dp[i-2] 加上第i房间偷到的钱。首尾元素大概知道要分为是否考虑末尾元素,考虑了末尾元素的情况对应选取第二个到最后一个元素,没有题解方法清晰。然后dp[i]取最大值,即dp[i] = max(dp[i - 2] + nums[i], dp[i - 1]);如果不偷第i房间,那么dp[i] = dp[i - 1],即考 虑i-1房,(

2024-02-29 15:15:14 483

原创 day 46 139.单词拆分 ● 关于多重背包,你该了解这些! ● 背包问题总结篇!

和以上在循环遍历上有所不同,因为是分拆为各个包最后可以组成一个完整背包,具体原理我就不做过多解释了,大家了解一下就行,面试的话基本不会考完这个深度了,感兴趣可以自己深入研究一波。多重背包在面试中基本不会出现,力扣上也没有对应的题目,大家对多重背包的掌握程度知道它是一种01背包,并能在01背包的基础上写出对应代码就可以了。至于背包九讲里面还有混合背包,二维费用背包,分组背包等等这些,大家感兴趣可以自己去学习学习,这里也不做介绍了,面试也不会考。原本这样写的,不熟悉字符串的接口,编译不通过。

2024-02-29 13:20:54 396

原创 day 45 ● 70. 爬楼梯 (进阶)● 322. 零钱兑换 ● 279.完全平方数

dp数组如果初始化为INT_MAX,+1的时候就要跳过这些为最大值的了。

2024-02-28 23:00:13 452 1

原创 day44 ● 完全背包● 518. 零钱兑换 II ● 377. 组合总和 Ⅳ

C++测试用例有两个数相加超过int的数据,所以需要在if里加上dp[i] < INT_MAX - dp[i - num]。因为dp[j] 是根据 下标j之前所对应的dp[j]计算出来的。只要保证下标j之前的dp[j]都是经过计算的就可以了。那么就是先把1加入计算,然后再把5加入计算,得到的方法数量只有{1, 5}这种情况。而不会出现{5, 1}的情况。背包容量的每一个值,都是经过 1 和 5 的计算,包含了{1, 5} 和 {5, 1}两种情况。假设:coins[0] = 1,coins[1] = 5。

2024-02-27 17:26:06 393

原创 day43 ● 1049. 最后一块石头的重量 II ● 494. 目标和 ● 474.一和零

要转化为0和1背包,其实是可以转化为分割等和子集。看了题解后发现其实不会出现堆内相消,而且尽量装满总重量一半,代表另外一堆和本堆数值最接近,差值最小。假设一堆left为x,总量计算为sum,那么另一堆right为sum-x。即x-(sum-x)=target,x=(target+sum)/2.转为dp[x]有多少种方法可以装满。数组里对于dp[x][y]代表x个0,y个1的最大长度,当前元素是选或不选,不选的话就是上一次的状态,选的话就是dp[x-当前元素0个数][y-当前元素1个数]+1。

2024-02-27 15:36:07 352

原创 day 42 ● 01背包问题,你该了解这些! ● 01背包问题,你该了解这些! 滚动数组 ● 416. 分割等和子集

上面题目改为用滚动数组解决。dp[i][j]的含义:从下标为[0-i]的物品里任意取,放进容量为j的背包,价值总和最大是多少。状态转移方程:dp[i][j] = max(dp[i - 1][j], dp[i - 1][j - weight[i]] + value[i]);那么很明显当 j < weight[0]的时候,dp[0][j] 应该是 0,因为背包容量比编号0的物品重量还小。但是不太好写成动态规划。dp[0][j],即:i为0,存放编号0的物品的时候,各个容量的背包所能存放的最大价值。

2024-02-26 14:11:31 406

原创 day41 动态规划part03 343. 整数拆分 96.不同的二叉搜索树

看了题解后,递推关系是dp[i]+=dp[j-1]*dp[i-j],即对每个节点j作为头结点遍历,i个节点的种类数+=左子树j-1个元素的种类*右子树i-j个元素种类数,这样不会有重叠。拆分为两个数的乘积,或者更多数的乘积,即j*(i-j)或者dp[i-j]*j,至于为什么j不拆成dp[j],因为i和j对称的,有一个就行了。贪心算法要利用结论:本题也可以用贪心,每次拆成n个3,如果剩下是4,则保留4,然后相乘,所以重点是要得到子结构,并且递推的时候要好处理。

2024-02-25 19:49:38 416

原创 day39 动态规划part02 ● 62.不同路径 ● 63. 不同路径 II

可以转化为m+n-2中选取m-1或者n-1的组合数,要注意不要溢出。如果第一行的中间有1,第一行的1后面也无法达到。注意可以滚动数组,节省使用的空间。

2024-02-01 08:32:08 414

原创 day38 ● 509. 斐波那契数 ● 70. 爬楼梯 ● 746. 使用最小花费爬楼梯

可以由前面状态推出后面状态,是动态规划。由于始终只要后面两个数,得出新的数。所以不需要数组保存,而是用O(1)的空间就可以了。我定义dp[i]为取当前代价条件下最小代价,为了能到顶部,所以cost后面加一个0,表示顶端。动态规划是前一个状态推导过来的,贪心是局部最优解。

2024-01-31 22:40:32 386

原创 day60 84.柱状图中最大的矩形

通过找到每个柱子的左边的小于该柱子高度的第一个柱子下标(动态规划,如果左侧第一个柱子高度大于当前柱子高度,就转为求左侧第一个柱子左侧小于左侧第一个柱子高度的柱子下标),右边类似。暴力是n的平方复杂度。以每个柱子的高度为基准,找到延伸到两边最远的距离,计算距离,计算出所有情况中最大值。

2024-01-30 02:46:05 459

原创 day 59 503.下一个更大元素II 42. 接雨水

按照列计算,这样只要计算高度。有多种解法,首先是双指针解法,对于每个位置,遍历最右边和最左边最高高度,找到两者最小值-本列高度,就能得到当前装的雨水高度。更进一步是,每列的左侧最高高度转为左边一列的左侧最高高度和左侧一列的高度最大值,右侧类似,减少重复计算。要用单调增的单调栈,如果新加的元素比栈头大,栈头就是底部,栈头左边是最近的比他高的左边柱子。一次wa是因为stack弹出元素后要取栈顶元素之有特判stack是否为空。栈里保存下表,通过长*宽算雨水体积。可以模拟走了两遍数组。单调栈解法:是按行做。

2024-01-29 22:45:59 434

原创 day 58 单调栈 part01 739. 每日温度 496.下一个更大元素 I

单调栈存放的是下标。只有单调栈递增(从栈口到栈底顺序),就是求右边第一个比自己大的,单调栈递减的话,就是求右边第一个比自己小的。需要用unordered_map得到一个字典。单调栈经典题目,看了题解。

2024-01-29 16:39:36 389

原创 代码随想录day5 哈希表part 01 242.有效的字母异位词 349. 两个数组的交集 202. 快乐数 1. 两数之和

当我们遇到了要快速判断一个元素是否出现集合里的时候,就要考虑哈希法。哈希碰撞:1、拉链法:其实拉链法就是要选择适当的哈希表的大小,这样既不会因为数组空值而浪费大量内存,也不会因为链表太长而在查找上浪费太多时间。2、线性探测法:例如冲突的位置,放了小李,那么就向下找一个空位放置小王的信息。所以要求tableSize一定要大于dataSize ,要不然哈希表上就没有空置的位置来存放 冲突的数据了。就是判断出现的次数,加上字符串出现次数不多,直接的想法是用哈希表,一遍ac.

2023-12-04 22:38:36 478

原创 代码随想录day4 24. 两两交换链表中的节点 19删除链表的倒数第N个节点 面试题 02.07. 链表相交 142. 环形链表 II

利用指针相遇的路程关系列一个方程,再利用快指针走的是慢指针的两倍列一个方程,就能得到,从头节点出发一个指针,从相遇节点出发一个指针,各自每次走一个节点,相遇的节点就是环形入口节点。看了题解的解释才写出来的。简单说,会声明一个快指针(一次移动两个)和一个慢指针(一次移动一个),快指针和慢指针都从头节点开始出发,因为相比于慢指针,快指针是一个个地移向慢指针,并且最后一定会相遇。题解的写法是快慢指针,慢指针和快指针都指向虚拟头节点,快指针先移动到n+1位置,再慢指针和快指针同时移动指导快指针指到末尾。

2023-12-04 19:29:03 497

原创 代码随想录day3 203.移除列表元素 707.设计链表 206.反转链表

这道题需要自己再定义一个linkedNode结构体,一开始我不知道linkednode是不是应该放在mylinkedlist下面,mylinkedlist是初始化函数,所以是放在public下。比如有三个节点,第二个节点反过来要指向第一个,那原本遍历数组需要的第二个节点指向的下一个也要用其他指针指向保留。删除链表节点,对于c++需要释放内存,其他语言例如Java、Python,就有自己的内存回收机制,就不用自己手动释放了。双链表:每一个节点有两个指针域,一个指向下一个节点,一个指向上一个节点。

2023-12-02 22:12:48 416

原创 代码随想录day2: 977.有序数组的平方 209.长度最小的子数组

不一定正好=target,大于target的话,如果连续的凑够了target,也不一定是最短的。我的写法比代码随想录的复杂好多,写的简洁些,重点是子串长度用下标算出来就行,减少复杂度。从l开始到r刚好超过target,但从r反过来,不一定到l才刚超过target,其中更短的数组串中一定要取到r,只有移动左端点了。而题解的方式空间复杂度是O(1),只是要处理的条件过多,容易写错。本题双指针法,一遍ac,看了题解后发现leetcode的执行用时非常不准确。空间复杂度是o(n),时间复杂度是O(n)

2023-12-02 14:09:39 428

原创 代码随想录算法训练营第一天 | 704. 二分查找 27. 移除元素

之前就已经熟悉二分法了,有两次wa,第一次是因为一开始的右边界取了一个数为数组的长度值int r=nums.size(),终止条件是l<=r,导致数组可能越界(针对于数组为[-1],target为5的情况),r能取到的时候要注意取值;,因为一旦有重复元素,使用二分查找法返回的元素下标可能不是唯一的,这些都是使用二分法的前提条件,当大家看到题目描述满足如上条件的时候,可要想一想是不是可以用二分法了。我的是改变了相对位置的写法,以下是copy的没更改相对位置的写法。如果l和r是左闭,右开。

2023-11-30 20:24:04 411

原创 batch norm和layer norm和instance norm和group norm和adain和spade

2023-03-12 03:26:36 132

原创 SoftTriple Loss: Deep Metric Learning Without Triplet Sampling

2023-03-12 03:23:48 125

原创 Lifelong Unsupervised Domain Adaptive Person Re-identification with Coordinated Anti-forgetting and

为了协调适应和抗遗忘,论文在每次参数更新迭代中将这两个任务(抗遗忘的任务和适应新数据的任务)看作元训练和元测试,而不是像MAML原来论文那样将样本分为元训练和元测试。Memory队列长度是512,队列中的每一个元素是对应k个,如果有某个identity对应feature实际上不满k个,就用增强的feature填充。3、其中计算Lkl的时候,i属于old batch和new batch的交集,我觉得论文里可能写错了,应该属于并集,因为old batch和new batch是采样不同样本的,取交集意义不大。

2023-03-12 03:21:21 215

原创 Exploring Cross-Image Pixel Contrast for Semantic Segmentation

因此,用了Semi-Hard Example Sampling:对于每个锚嵌入,我们首先收集前10%的最接近的负样本(从memory bank M中抽取前10%的最远正例),然后随机抽取K个负样本。表1是只在单张图像内部(intra)选择正负样本和在所有图像(inter)选择正负样本作比较,表2是比较了没有memory bank,和memory bank只有pixel memory和region memory各自的部分等的比较,表3是比较困难负样本挖掘方法。因此,它对网络不引入任何改变或额外的计算成本。

2023-03-12 03:16:11 801 1

原创 Head-Free Lightweight Semantic Segmentation with Linear Transformer

第一个分支是输出的F,第二个分支输出的G。用transformer更新的G(原型语义)结合F(像素语义,会先把F映射为低维度的特征)来恢复特征,是上采样到一样分辨率后用相加的方式来恢复,再接卷积和激活nn.hardswish得到被恢复的特征。在transformer的attn位置,论文用不共享的映射头对特征映射成q、k、v,与寻常自注意力不同,首先对key在hw上softmax,和value得到矩阵相乘得到通道之间的相似度,再与query矩阵相乘,得到被更新后的query。

2023-03-12 03:10:43 570 1

原创 zegformer

Inference阶段,通过二进制掩码mask原图(或者crop原图,论文消融分析得到mask同时crop原图效果最好),得到只包含对应语义的图,将其输入clip预训练好的image encoder得到图片embedding,和训练阶段类似使用文本嵌入作为分类器得到预测语义类。训练阶段,只使用所看到的类来训练分类头,在生成的二进制掩码mask和语义嵌入经过文本嵌入作为分类器得到的分类logits,使用bipartite matching,损失和二分图匹配的cost与mask former一样。

2023-03-12 02:57:27 426

原创 uperformer

为了融合不同stage的feature信息,对swin block的输出有fuse&upsample的结构,会将backbone输出的feature和经过swin block更新的feature融合。UperFormer的Attention heads是多头的和用了四个分辨率的输出,并且由于是多头的会对最后输出再经过一次全连接融合多头特征,但ocrnet是单头的和只用最后一个分辨率的输出,uperformer和ocrnet都是有query,key和value的projection head的。

2023-03-12 02:53:08 254

原创 彩色图像长短边等比例缩放并填零补成正方形

对彩色图,将图像长边缩放至固定尺寸,并将短边等比例缩放,空出部分两边对称填零,补成正方形。

2022-03-17 11:10:22 724 1

原创 kaggle上传代码包并运行

1、进入网址:https://www.kaggle.com/notebooks,新建一个notebook2、在右侧点击菜单栏上传数据:3、上传文件的进度如果始终为0,则需要科学上网,翻墙,上传数据。值得一提的是,上传的文件会放置在\kaggle\input下,这个目录只能读,而/kaggle/working是放输出文件的,可读可写,但如果不点右上角的Save version,输出文件并不会保存。我将数据集和代码都压缩成一个zip文件,上传,kaggle会自动将其解压缩,从kaggle读取文件

2021-03-03 12:10:27 20419 19

原创 决策树KNN朴素Bayes单层神经网络SVM介绍

以下对决策树、最近邻、朴素Bayes、单层神经网络和线性支持向量机稍作介绍。决策树是可以实现分类和回归的树形结构,根节点是所有样本,内部节点是其父节点对应集合符合或不符合某个属性的子集,叶节点是已分好类别的子集。先需要特征选取,每次选择分类能力最强的特征使减小的熵最大化,以此最小化决策树的深度,有信息增益,信息增益率,基尼系数三种来判断熵的减小大小,分别对应着ID3,C4.5,CART树,对每个节点都用一样的准则,直到减小的熵小到一定程度或者已经无法再分。为避免过拟合,通常对单纯的决策树采取剪枝策略

2021-02-22 01:42:50 451

八位二进制转三位十进制.ms14

电子课程设计自己实现成功运行得了A,1、设计 4 位 ALU ,可实现 8 种算术逻辑运算,要写出设计过程,卡诺图表达式。(最低要求2种算术运算和两种逻辑运算90分) a.进行两个四位二进制数的运算。 b.算术运算: A+B,A-B,A+1,A-1。 c.逻辑运算: A and B,A or B,A not, A xor B。 2、4 位输入 A3—A0、B3---B0 用开关设置输入。 3、8种算术逻辑运算通过 3 位功能选择开关选择某一种功能。 4、运算结果用两个数码管显示和 2 个发光管或探针显示(有一个显示进借位、有一个显示溢出)。 设计结构:每个逻辑功能可用一个子电路实现。 设计分为输入控制模块、输出选择模块、加减运算模块及逻辑运算模块等部分。 在输入控制部分,利用锁存器,使 A和 B信号通过脉冲控制同时送入运算电路。 在输出控制模块,选择需要输出的显示信号。 加减运算电路实现加减运算功能。逻辑运算电路实现逻辑运算功能。(不能用如74181之类的运算器集成电路,用最简单的与门非门、锁存器等逻辑门集成电路设计)

2021-08-18

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除