模数转换电路(A/D转换器)
A/D转换,是将输入的模拟电压量转换成相应的数字量。
A/D转换器的类型很多,按工作原理可分为直接转换型和间接转换型两大类。前者直接将模拟电压量转换成数字量,后者是先将模拟电压量转换成一个中间量,再将中间量转换成数字量。
下面先介绍A/D转换的一般原理,再分别介绍直接转换型的并行比较A/D转换器、逐次逼近A/D转换器,间接转换型的双积分A/D转换器。
将模拟量转换为数字量一般需经过采样、保持、量化与编码四个过程完成, 前两个过程在采样与保持电路中完成, 后两个过程在A/D转换中完成。
1. 采样与保持
采样是按一定的时间间隔采集模拟信号的过程。
采样保持电路由受控的模拟开关与存储电容C 组成。
NMOS管做开关使用,开关状态受采样脉冲号
CPS控制。
电容C为保持电容。
运算放大器组成电压跟随电路, 起缓冲隔离作用。
工作原理:
采样过程:
当采样脉冲号CPS为高电平时,NMOS管导通,uI(t)经T对电容C充电,充电时间常数Ts
(Ron为NMOS管的导通电阻)远小于采样脉冲号CPS的周期TS。充电结束后
。
保持过程:
当采样脉冲号CPS为低电平时,NMOS管截止,电容C上的电压可以在段时间内基本保持不变。
2. 量化与编码
采样保持电路的输出信号在时间上是离散的,但在幅度上仍是连续的, 无法与n位有限的2n个数字输出量Dn-1…D1D0相对应,因此必须将采样保持电压值只限定在规定个数的离散电平上, 将介于两个离散电平之间的采样保持电压归并到这两个离散电平之一上,即将采样保持电压转化成最小数量单位的整数倍。
规定的最小数量单位称为量化单位,用△表示。
输出数字量最低有效位中的1所对应的输入模拟电压就是△。
将采样保持电压值转化为最小数量单位整数倍的过程称为量化。
量化有只舍不入法和四舍五人法两种方法,只舍不入法是将不够量化单位的数舍去
只取整数,四舍五人法是将小于△/2的数舍去,而将大于△/2的数保留并取为△。
将量化的结果用n位二进制数字量表示称为编码。
取量化单位 △=1/8V, 采用8个量化电平, 即0·△(0V) , 1·△(1/8V) , … ,7·△(7/8V) 。
量化处理方法是,将不够量化单位的数舍去只取整数。
如0≤uI<1/8V,则量化为0·△=0V,用二进制数000表示;
如1/8V ≤uI<2/8V,则量化为1·△=1/8V,用二进制数001表示;
…
取量化单位△=2/15V, 采用8个量化电平, 即0·△(0V), 1·△(2/15V) , … , 7· △ (14/15V)。
量化处理方法是,将小于Δ/2的数舍去, 而将大于△/2 的数保留并取为△。
如0≤uI<1/15V,则量化为0· △=0V,用二进制数000表示;
如 1/15V≤uI<3/15V,则量化为1·△=2/15V,用二进制数001表示;
当采样保持电压不能被△整除时,将产生量化误差。无论何种量化方法都存在量化误差,只舍不入法的最大量化误差为△,四舍五人法
的最大量化误差为△/2。
减小量化误差应减小量化电平△,即减小n位数字量最低有效位为1时所代表的量化值,这就要增加数字量的位数。
…
电路采用四舍五人法量化方法,量化单位 △=2VREF/15
输入的模拟电压uI同时和7个量化电平比较进行A/D转换。
电压比较器的U+ >U-时输出为1、U+ <U-时输出为0。
在时钟脉冲CP的作用下将比较结果存入寄存器,由编码电路对寄
存器的输出Q1~Q7进行编码得到二进制输出数字量。
3.并行比较A/D转换器的特点
① 无需中间变量就能将输入的模拟信号直接转换成数字信号,属于直接A/D转换器。
② 转换速度快。因是并行转换,其速度仅被比较器及门电路的延迟时间所限,与转换的位数无关。是各种ADC电路中转换速度最快的电路,转换时间仅数十纳秒。
③ n位数字量,需用(2n-1)个比较器、(2n-1)个D触发器。当位数增加时,运算放大器、D触发器等器件数量将剧增。
逐次逼近A/D转换器
1.电路组成
- 工作原理
输入uI为采样保持后的电压。
控制逻辑电路使数据寄存器的最高位Q2为1,3位DAC对数据寄存器输出状态Q2Q1Q0进行D/A转换得模拟电压uO,
uO和输入模拟电压uI在比较器中进行比较,当uI≥uO时比较器输出uC=0,说明Q2Q1Q0不够大,应保留最高位Q2为1;当uI<uO时比较器输出uC=1,说明Q2Q1Q0过大, 应将最高位Q2为1清除改为0。
再按同样方法使数据寄存器的次高位置1, 进行比较后确定该位的1是否保留。逐位比较下去一直到最低位为止,数据寄存器的输出就是转换的数字量。
转换过程:
转换开始前,使环形计数器置于QAQBQCQDQE=00001初始状态。
第1个时钟脉冲CP到来后, 环形计数器循环右移一位, 使QAQBQCQDQE=10000。
环形计数器的状态输出通过控制逻辑电路使数据寄存器输出状态Q2Q1Q0为100,经DAC转换为模拟电压uO和输入模拟电压uI在比较器中进行比较产生输出uC=1或0。
QE=0封锁输出电路。
第2个时钟脉冲CP到来后, 环形计数器循环右移一位, 使QAQBQCQDQE= 01000。前次比较器的输出及环形计数器的状态输出通过控制逻辑电路使数据寄存器输出状态改变。若前次比较器的输出uC=1,则使数据寄存器输出状态 Q2Q1Q0为010;若前次比较器的输出uC=0,则使数据寄存器输出状态Q2Q1Q0为110。经DAC转换为模拟电压uO和输入模拟电压uI在比较器中进行比较使uC=1或0。
QE=0封锁输出电路。
第3个时钟脉冲CP到来后, 环形计数器循环右移一位, 使QAQBQCQDQE=00100。
前次比较器的输出及环形计数器的状态输出通过控制逻辑电路使数据寄存器输出状态改变。若前次比较器的输出uC=1,则使数据寄存器输出状态Q2Q1Q0为001、101之一;
若前次比较器的输出uC=0,则使数据寄存器输出状态Q2Q1Q0为111、011之一。经DAC转换为模拟电压uO和输入模拟电压uI在比较器中进行使uC=1或0。
QE=0封锁输出电路。
第4个时钟脉冲CP到来后, 环形计数器循环右移一位, 使QAQBQCQDQE= 00010。
前次比较器的输出及环形计数器的状态输出通过控制逻辑电路使数据寄存器输出状态改变。若前次比较器的输出uC=1,则使数据寄存器输出状态Q2Q1Q0为000、010、100、110之一;若前次比较器的输出uC=0, 则使数据寄存器输出状态Q2Q1Q0为001、011、101、111之一。经DAC转换为模拟电压uO和输入模拟电压uI在比较器中进行使uC=1或0。
QE=0封锁输出电路。
第5个时钟脉冲CP到来后, 环形计数器循环右移一位, 使QAQBQCQDQE=00001。
前次比较器的输出及环形计数器的状态输出通过控制逻辑电路确定数 据寄存器输出状态。若前次比较器的输出uC=1, 使数据寄存器输出状态Q2Q1Q0为000、010、100、110之一; 若前次比较器的输出uC=0, 使数据寄存器输出状态Q2Q1Q0为001、011、101、111之一。
环形移位寄存器的QE=1解除对输出电路的封锁,将数据寄存器的数据通过输出电路输出。
3. 逐次逼近A/D转换器的特点
① 无需中间变量就能将输入的模拟信号直接转换成数字信号, 属于直接A/D转换器。
② 完成一次A/D转换所需的时间= (n+2)TCP 。其中,n为数字量的位数,TCP为时钟周期。
③ 输入模拟电压uI的最大值与ADC的位数有关,且不能大于DAC的最大输出电压。
④ 转换精度主要取决于比较器的灵敏度及DAC的精度。为了减小量化误差, 在DAC的输出端加入一个-△/2偏移量(△为DAC最低有效位为1时的输出电压),使所有比较电平向负方向偏移△/2, 从而满足了量化误差为△/2时第一个量化电平必须为△/2的要求。
双积分A/D转换器
1.电路组成
2. 工作原理
输入uI为采样保持后的电压。第一次对输入模拟电压uI进行积分, 完成将输入模拟电压uI转换成相应的时间间隔T。第二次对基准电压-VREF积分,实现控制送入计数器的时钟脉冲CP个数,从而完成A/D转换。
工作过程:
① 起始状态
进行A/D转换前,控制电路将计数器清零,电子开关S2闭合使电容C放电,C放电结束后S2再断开。
② 第一次积分—积分器对输入模拟电压uI进行定时积分
t =0时刻转换开始,控制电路使电子开关S1合向uI端,积分电路对输入模拟电压uI进行定时积分, t1时刻积分结束,积分时间为T1(=t1-0)固定不变、输入模拟电压uI=UI保持不变。
积分器的输出电压为
表明,积分器的输出电压uO从0开始随时间负向线性变化, 与输入电压uI 成正比。
3.双积分A/D转换器的特点
① 需将输入的模拟信号转换成时间中间量,再将时间中间量转换成数字信号,属于间接A/D转换器。
② 工作性能稳定,转换精度高
双积分A/D转换器,在完成一次A/D转换过程中进行了两次积分,只要两次积分的时间常数不变,转换结果就不受时间常数影响。在转换过程中,只要时钟脉冲的周期TCP不变,也不影响转换结果。
③ 抗干扰能力强
由于A/D转换器的输入级为积分器, 所以对交流噪声有很强的抑制能力, 能有效地抑制电网的工频干扰。
④ 工作速度低
双积分A/D转换器完成一次转换的时间=T1+ T2=2nTCP+DTCP。
若再加上转换前的积分电容放电、计数器清零的准备时间及转换结果输出时间, 完成一次转换所需时间还要长一些。
A/D转换器的主要技术指标
1.分辨率
分辨率表示A/D转换器对输入模拟电压的分辨能力, 常用二进制或十进制数的位数表示,n位A/D转换器能区分输入模拟电压的2n个不同等级。
2.转换误差
A/D转换器常用相对误差表示转换误差,它表示A/D转换器实际输出的数字量与理想输出数字量的差别,并用最低有效位的倍数表示。
3.转换速度
转换速度常用完成一次转换所需时间来表示,即从转换控制信号发出到有稳定的数字量输出为止的一段时间。转换时间越短,说明转换速度越快。A/D转换器的转换速度主要取决于电路的类型,不同类型的A/D转换器转换速度差别很大。并行比较A/D转换器的转换速度最高,逐次逼近A/D转换器次之,双积分A/D转换器的转换速度最低。
集成ADC
ADC0809是采用CMOS工艺制成的单片8位8通道逐次逼近式A/D转换器。
8位模拟开关用于从8路模拟输入信号中选择1路进行A/D转换。地址锁存与译码部分存放地址码并进行译码实现对8路模拟输入信号的选择。8位A/D转换器为逐次逼近A/D转换器。三态输出锁存缓冲器用于锁存转换后的数字量并控制三态输出。
相关文章:
模数转换电路(A/D转换器)
A/D转换,是将输入的模拟电压量转换成相应的数字量。 A/D转换器的类型很多,按工作原理可分为直接转换型和间接转换型两大类。前者直接将模拟电压量转换成数字量,后者是先将模拟电压量转换成一个中间量,再将中间量转换成数字量。 …...
PAT乙级1007
常规解法 #include <iostream> using namespace std;// 判断一个数是否为素数的函数 bool isprime(int a) {// 遍历 2 到 sqrt(a) 之间的数,判断 a 是否能被它们整除for (int i 2; i * i < a; i) {if (a % i 0) // 如果能整除,说明 a 不是素…...
代码随想录刷题day52|(二叉树篇)106.从中序与后序遍历序列构造二叉树
目录 一、二叉树理论知识 二、构造二叉树思路 2.1 构造二叉树流程(给定中序后序 2.2 整体步骤 2.3 递归思路 2.4 给定前序和后序 三、相关算法题目 四、易错点 一、二叉树理论知识 详见:代码随想录刷题day34|(二叉树篇)二…...
MTK平台 Android12-Android13 默认搜狗输入法
系统默认搜狗输入法功能实现 文章目录 需求:场景 参考资料需求实现内置搜狗输入法配置第三方apk .mk 和 搜狗安装包,不可卸载方式搜狗输入法module 配置到系统device.mk 中去 设置搜狗输入法为默认输入法给输入法授权,默认所有权限 总结思考 …...
vue3实现动态路由
文章目录 一、基础信息1.路由构成2.菜单配置表3.vue-router4方法 二、实现思路1.登录获取菜单配置表2.导航守卫3.添加动态路由4.渲染菜单5.退出登录删除动态路由 三、实现代码1.路由守卫2.基础路由文件3.添加动态路由逻辑4.待特殊处理路由配置表5.404类路由6.删除动态路由 场景…...
行为型设计模式
深入理解行为型设计模式:模板方法、观察者、责任链 设计模式是软件开发中解决常见问题的经典方案,而行为型设计模式尤其关注对象之间的职责分配与通信方式。本文将详细讲解模板方法模式、观察者模式和责任链模式。 一、模板方法模式(Templat…...
【服务器环境安装指南-指定 cuda 版本】在 Ubuntu 22.04 上完成 cuda-toolkit 12.0 和 cudnn 12.x 的安装教程
0.引言 在深度学习和高性能计算领域,CUDA 和 cuDNN 是不可或缺的工具。为充分发挥硬件性能,我们需要在服务器环境中正确配置这些工具。然而,安装过程中可能会遇到诸多挑战,例如版本兼容性和环境变量设置等问题。本篇文章将以 Ubu…...
蓝桥杯第十届 数的分解
题目描述 本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。 把 2019 分解成 3 个各不相同的正整数之和,并且要求每个正整数都不包含数字 2 和 4,一共有多少种不同的分解方法? 注意交换 3 个…...
二叉搜索树
目录 概念 代码实现 成员 基本结构 查找 插入 删除 中序遍历 拷贝构造 赋值运算符重载 析构函数 递归实现 递归实现查找 递归实现插入 递归实现删除 概念 关于二叉树的基本结构已经进行过详细剖析,本篇博客将对一种特殊的二叉树进行分析。 二叉树&…...
Linux多线程详解
Linux多线程详解 一、Linux多线程概念1.1 什么是线程1.2 进程和线程1.3 进程的多个线程共享1.4 进程和线程的关系 二、Linux线程控制2.1 POSIX线程库2.2 线程创建2.3 获取线程ID pthread_self2.4 线程等待pthread_join2.5 线程终止2.6 线程栈 && pthread_t2.7 线程的局…...
攻防世界-web-1
Training-WWW-Robots 在URL后面加上/robots.txt 直接在URL后面添加/fl0g.php PHP2 他问我能不能登录这个网站,又因为考察php内容,在URL后面添加/index.php,无任何回显 试试/index.phps 分析一下代码,发现要用get方式上传idadmin,…...
笔记本+移动端维修全套教程
今天分享的是笔记本移动端维修全套教程(免费视频资料大全) 当自己手机或者电脑坏了,很多人都会想着去维修店铺修,但价格不透明,容易被坑,当自己了解一些之后,即使不会修,也可以对手…...
【STM32】知识点介绍二:GPIO引脚介绍
文章目录 一、概述二、GPIO的工作模式三、寄存器编程 一、概述 GPIO(英语:General-purpose input/output),即通用I/O(输入/输出)端口,是STM32可控制的引脚。STM32芯片的GPIO引脚与外部设备连接起来,可实现与外部通讯、…...
【STM32】GPIO
目录 1、什么是GPIO2、什么是GPIO组3、GPIO的基本结构4、GPIO位结构5、GPIO八种工作模式6、GPIO相关寄存器1. 端口配置低寄存器GPIO[x]_CRL和端口配置高寄存器GPIO[x]_CRH, Config Register High和Config Register Low)2. 端口输入数据寄存器(GPIO[x]_IDR)3. 端口输出数据寄存器…...
鸿蒙移动应用开发--UI组件布局
实验要求: 制作一个B站视频卡片界面,大致如下图所示,要求应用到线性布局、层叠布局等相关课堂知识。背景图、logo及文本内容不限。 实验环境 :DevEco Studio 实验过程: 步骤1:创建项目 1. 在您的开发环境…...
[MySQL]MySQL数据库基础知识与操作
MySQL基础知识 为什么要有数据库? 文件存储的缺点 1.没有以某种特定的数据格式存储数据,查找不方便,只能遍历2.安全性:数据误操作后不能回滚3.每次操作数据都要用户自己操作4.数据量大的时候,操作的成本很高 创建一…...
卡诺图化简法的原理
引子 若两个最小项只有一个因子不同,则称这两个最小项具有相邻性。 例如, A ′ B C ′ ABC A′BC′和 A B C ABC ABC两个最小项仅第一个因子不同,所以它们具有相邻性。这两个最小项相加时定能合并成一项并将一对不同的因子消去 A ′ B C ′…...
从零开始:使用Luatools工具高效烧录Air780EPM核心板项目的完整指南
本文将深入讲解如何使用Luatools工具烧录一个具体的项目到Air780EPM开发板中。如何使用官方推荐的Luatools工具(一款跨平台、命令行驱动的烧录利器),通过“环境配置→硬件连接→参数设置→一键烧录”四大步骤,帮助用户实现Air780E…...
探秘Transformer系列之(18)--- FlashAttention
探秘Transformer系列之(18)— FlashAttention 文章目录 0x00 概述0.1 问题0.2 其它解决方案0.3 Flash Attention 0x01 背景知识1.1 GPU相关概念硬件概念运行单元内存 软件概念运行模式线程模型Grid & DeviceBlock & SMThread & SPThread &am…...
VUE2导出el-table数据为excel并且按字段分多个sheet
首先在根目录下建一个文件夹export用来存储export.js import * as XLSX from xlsxfunction autoWidthFunc(ws, data) {// 设置每列的最大宽度const colWidth data.map(row > row.map(val > {var reg new RegExp([\\u4E00-\\u9FFF], g) // 检测字符串是否包含汉字if (v…...
Android面试总结之Android RecyclerView:从基础机制到缓存优化
引言 在 Android 开发中,RecyclerView是高效展示列表数据的核心组件。其强大的性能源于独特的视图复用机制和四级缓存体系。本文将结合源码与示例,带你深入理解RecyclerView的工作原理与优化策略。 核心组件 RecyclerView:作为容器视图&am…...
【C#语言】C#文件操作实战:动态路径处理与安全写入
文章目录 ⭐前言⭐一、场景痛点⭐二、完整实现代码⭐三、关键技术解析🌟1、动态路径处理🌟2、智能目录创建🌟3、安全的文件写入 ⭐四、进阶扩展方案🌟1、用户自定义路径选择🌟2、异常处理增强🌟3、异步写入…...
react中 useEffect和useLayoutEffect的区别
useEffect 和 useLayoutEffect 都是 React 中用于处理副作用的 Hook,但它们在执行时机和用途上有一些关键区别。理解这些区别可以帮助你更好地选择适合的 Hook 来实现特定的功能。 1. 执行时机 useEffect: 异步执行:useEffect 是在组件渲染完…...
TDengine 中的系统信息统计
简介 TDengine 3.0 版本开始提供一个内置数据库 performance_schema,Performance_Schema 数据库中存储了系统中的各种统计信息,包括存储及性能有关统计数据。本节详细介绍其中的表和表结构。 PERF_APP 提供接入集群的应用(客户端ÿ…...
C++可变参数
可变参数C风格的可变参数C风格可变参数的使用 C11可变参数模板递归展开参数包参数列表展开折叠表达式 STL中的emplace插入接口 可变参数 C风格的可变参数 可变参数是一种语言特性,可以在函数声明中使用省略号...来表示函数接受可变数量的参数。 例如典型的printf…...
建造者模式 (Builder Pattern)
建造者模式 (Builder Pattern) 是一种创建型设计模式,它将一个复杂对象的构建与其表示分离,使得同样的构建过程可以创建不同的表示。 一、基础 1.1 意图 将一个复杂对象的构建与其表示分离,使得同样的构建过程可以创建不同的表示。 1.2 适用场景 当创建复杂对象的算法应该…...
Thales靶机攻略
1.下载导入VBox,并启动靶机 靶机地址:https://download.vulnhub.com/thales/Thales.zip 解压后,在VBox中导入虚拟电脑。包含所有网卡的MAC地址。 导入完成,设置网卡模式为仅主机网络。开启靶机。 kali网卡更改为桥接模式。点击工…...
【redis】哨兵:搭建主从/哨兵节点详解和细节
文章目录 编排步骤搭建主从节点创建容器启动容器 搭建哨兵节点创建容器哨兵节点配置文件配置节点启动容器 主从/哨兵节点连入同一个局域网 编排步骤 分为两组 yml,先后启动 我们其实也可以用于一个 yml 文件,直接启动 6 个容器,但是&#x…...
零基础上手Python数据分析 (9):DataFrame 数据读取与写入 - 让数据自由穿梭
回顾一下,上篇博客我们学习了 Pandas 的核心数据结构 Series 和 DataFrame。 DataFrame 作为 Pandas 的 “王牌” 数据结构,是进行数据分析的基石。 但 DataFrame 的强大功能,还需要建立在 数据输入 (Input) 和 数据输出 (Output) 的基础上。 数据从哪里来? 分析结果又如何…...
Emacs 折腾日记(十九)——配置输入法和vim操作方式
上一篇文章中,我们将Emacs变得稍微好看了点。换成了自己喜欢的主题和颜色,这样每天用起来也比较养眼,不会特别排斥。本篇文章的主要任务就是配置输入法方便输入中文以及将vim的操作模式搬到Emacs中。进一步提到Emacs的可用性 配置中文输入法…...
Docker 镜像构建与优化
一、Dockerfile 构建镜像 1.1.拉取所需镜像 首先 docker pull 拉取一个 centos7 的镜像。 docker pull centos:7 下载 nginx 源码包。 官网:nginx: download wget https://nginx.org/download/nginx-1.26.3.tar.gz 1.2.解决 CentOS 7 安装源问题 因为原本的 …...
Mininet--moduledeps.py源码解析
整体构架概述 1. What is it moduledeps.py是Mininet网络模拟框架的模块依赖管理工具,用于动态管理Linux内核模块(如Open vSwitch、TUN/TAP)和验证系统环境。其核心目的是确保Mininet运行所需的底层模块和可执行文件已正确加载或存在&#…...
JAVA EE_多线程-初阶(一)
1.认识线程 1.1概念 1)线程是什么 线程是在进程内部中进行运行的,可以把它想成一个“执行流“,每个线程负责执行线程内的部分代码,多个线程之间可以”同时“执行多个代码。 “同时”:指并行,采用分时复用…...
批量优化与压缩 PPT,减少 PPT 文件的大小
我们经常能够看到有些 PPT 文档明明没有多少内容,但是却占用了很大的空间,存储和传输非常的不方便,这时候通常是因为我们插入了一些图片/字体等资源文件,这些都可能会导致我们的 PPT 文档变得非常的庞大,今天就给大家介…...
AI 的“幻觉”现象:深入解析 Hallucination 的成因与应对之道
文章目录 一、啥是 AI 的 Hallucination?二、啥时候容易出现幻觉?1. 知识边界之外的问题2. 模糊或不明确的输入3. 生成长篇内容4. 多模态任务中的误解5. 过度自信的语气要求 三、幻觉为啥会出现?原理是啥?1. 概率预测的本质2. 训练…...
加载huggingface数据集报token无效错误解决方案
加载huggingface数据集报错 import pandas as pddf pd.read_json("hf://datasets/udell-lab/NLP4LP/data/test.jsonl", linesTrue) print(df)PS C:\Users\pengkangzhen\PythonProjects\llm-ecr> & C:/Users/pengkangzhen/.conda/envs/py3.12_ml/python.exe …...
Java面试题及知识点Day1
自动拆箱和自动装箱 装箱就是自动将基本数据类型转换为包装器类型 拆箱就是自动将包装其类型转化为基本数据类型 重写和重载 重写 1.发生在子类和父类之间 2.参数的方法名,参数,返回值,必须相同 3.权限修饰符不能小于重写方法的权限修饰符…...
【动态规划】-- 三步问题(easy)
文章目录 1. 题目2. 题目解析3. 代码 1. 题目 在线oj 三步问题。有个小孩正在上楼梯,楼梯有 n 阶台阶,小孩一次可以上 1 阶、2 阶或 3 阶。实现一种方法,计算小孩有多少种上楼梯的方式。结果可能很大,你需要对结果模 1000000007。…...
字符流Reader/Writer
一、Reader相关介绍及其子类 Reader是所有字符输入流的超类。它提供了读取字符流的基本方法,如read(), read(char[] cbuf, int off, int len)等;由于Reader是抽象类,通常使用它的子类如FileReader, BufferedReader等来创建字符输入流对象。 …...
字符串交替合并问题
问题: 给你两个字符串 word1 和 word2 。请你从 word1 开始,通过交替添加字母来合并字符串。如果一个字符串比另一个字符串长,就将多出来的字母追加到合并后字符串的末尾。 返回 合并后的字符串 。 示例 1: 输入:w…...
shell脚本一键安装docker+docker-compose,支持x86_64、arm64双架构
目录 脚本内容 运行效果 安装包和脚本 脚本内容 [roottest1 docker]# cat install.sh #!/bin/bash set -e export pathpwd export docker_data"/data/docker_data"function check_arch() {if [ -f /etc/redhat-release ]; thenOS"RedHat"elif [ -f /e…...
Elasticsearch 面试备战指南
Elasticsearch 面试备战指南 一、基础概念 什么是Elasticsearch? Elasticsearch是一个基于Lucene的分布式搜索和分析引擎,提供近实时搜索、高可用性和水平扩展能力。常用于日志分析(ELK)、全文检索、商业智能等场景。 Elasticsea…...
新手村:逻辑回归-理解04:熵是什么?
新手村:逻辑回归04:熵是什么? 熵是什么? 前置条件 在开始学习逻辑回归中的熵理论之前,需要掌握以下基础知识: 概率论与统计学: 概率分布(如伯努利分布、正态分布)。条件概率和贝叶斯定理。期…...
Javaweb后端登录会话技术jwt令牌
jwt生成与校验 是base4补位的 最后面是签名,签名不是base64,是通过签名算法加密后来的 令牌长度不是固定的,长度取决于原始内容,载荷,大小 头有,类型,签名算法 base64可以对任意的二进制数据进…...
图像对比分析并生成报告
pip install pyautogui """ 图像对比分析工具 功能:实现像素级差异、结构相似性(SSIM)、直方图相似度和特征匹配率四种对比方法 作者:智能助手 版本:1.2 日期:2025-02-27""" import os import cv2 …...
DeepSeek 助力 Vue3 开发:打造丝滑的表格(Table)之添加行拖拽排序功能示例1,TableView16_01.vue 基础行拖拽排序示例
前言:哈喽,大家好,今天给大家分享一篇文章!并提供具体代码帮助大家深入理解,彻底掌握!创作不易,如果能帮助到大家或者给大家一些灵感和启发,欢迎收藏+关注哦 💕 目录 DeepSeek 助力 Vue3 开发:打造丝滑的表格(Table)之添加行拖拽排序功能示例1,TableView16_01.vu…...
vue-如何将组件内容作为图片生成-html2canvas
1.引入必要的库 这里呢我们使用 html2canvas 库来将 HTML 元素转换为画布(canvas),然后再将其导出为图片。首先,确保在项目中安装了 html2canvas: npm install html2canvas 2. 组件结构 然后在我们的vue文件里面&a…...
单片机 - RAM 与内存、ROM 与硬盘 之间的详细对比总结
RAM 与 内存 RAM(Random Access Memory,随机存取存储器) 和 内存 这两个术语通常是 同义词,即 内存 常常指的就是 RAM。 1. RAM(内存) 定义:RAM 是计算机中的 主存储器,用于临时存…...
Linux 练习一 NFS和DNS
练习四 任务需求:客户端通过访问 www.nihao.com 后,能够通过 dns 域名解析,访问到 nginx 服务中由 nfs 共享的首页文件,内容为:Very good, you have successfully set up the system. 各个主机能够实现时间同步&#…...
aab 转 apk
googleplay发布的游戏对外前,测试同学要安装到手机上先行测试,所以就有了这个需求。网上找了一篇文章讲的很详细了,文档是英语的,这里摘抄重要的部分做下记录: https://www.geekdashboard.com/extract-apk-files-from…...