当前位置: 首页 > news >正文

计算机组成原理笔记(十六)——4.1基本算术运算的实现

计算机中最基本的算术运算是加法运算,加、减、乘、除运算最终都可以归结为加法运算。

4.1.1加法器

一、加法器的基本单元

加法器的核心单元是 全加器(Full Adder, FA),而所有加法器都由 半加器(Half Adder, HA) 组合实现。

1. 半加器(HA)

功能:实现两个1位二进制数相加(不考虑低位进位)。
输入:A(加数)、B(被加数)
输出:Sum(和)、Carry(进位)
真值表

ABSumCarry
0000
0110
1010
1101

逻辑表达式
Sum = A ⊕ B Carry = A ⋅ B \text{Sum} = A \oplus B \\ \text{Carry} = A \cdot B Sum=ABCarry=AB

电路图

在这里插入图片描述

2. 全加器(FA)

功能:实现两个1位二进制数与一个低位进位相加。
输入:A(加数)、B(被加数)、C_in(低位进位)
输出:Sum(和)、C_out(进位)
真值表

ABC_inSumC_out
00000
00110
01010
01101
10010
10101
11001
11111

逻辑表达式
Sum = A ⊕ B ⊕ C i n C o u t = A ⋅ B + ( A ⊕ B ) ⋅ C i n \text{Sum} = A \oplus B \oplus C_{in} \\ C_{out} = A \cdot B + (A \oplus B) \cdot C_{in} Sum=ABCinCout=AB+(AB)Cin

电路结构示意图(由两个半加器组合):

在这里插入图片描述

二、加法器的类型与工作原理

1. 串行加法器

结构:通过移位寄存器依次处理每一位,每次计算1位。
电路图

在这里插入图片描述

特性

  • 优点:电路简单,成本低。
  • 缺点:速度极慢,需n个时钟周期完成n位加法。
  • 关键问题:进位信号需逐级传递(行波进位)。

2. 并行加法器

所有位同时计算,但进位传递是关键瓶颈。分为两类:

(1) 串行进位加法器

结构:多个全加器串联,前级的C_out作为后级的C_in。
电路示意图

在这里插入图片描述

延迟分析

  • 若每级进位延迟为2t,则n位加法总延迟为2n t。
  • 例:32位加法需要64t耗时。
(2) 超前进位加法器(CLA)

核心思想:提前计算各级进位,消除级联依赖。
进位生成公式
C i = G i + P i ⋅ C i − 1 其中: G i = A i ⋅ B i ( 生成进位 ) P i = A i ⊕ B i ( 传播进位 ) C_i = G_i + P_i \cdot C_{i-1} \\ \text{其中:} \quad G_i = A_i \cdot B_i \quad (\text{生成进位}) \\ P_i = A_i \oplus B_i \quad (\text{传播进位}) Ci=Gi+PiCi1其中:Gi=AiBi(生成进位)Pi=AiBi(传播进位)

4位CLA示例

在这里插入图片描述

优点:极快完成所有位的计算,但电路复杂度高。

三、关键对比

特性串行加法器并行串行进位超前进位
速度极慢(O(n))较快(O(n))极快(O(1))
硬件复杂度极简中等复杂
适用场景嵌入式低功耗设备通用CPU高性能计算
典型延迟32位需64t32位需64t4位仅需4t

四、应用实例

现代CPU中,ALU的加法器采用 分组超前进位 结构:

  • 16位加法器:4个4位CLA模块 + 一级CLA控制。
  • 延迟:仅需计算组内和组间的并行进位。

在这里插入图片描述

通过这种分层设计在速度和复杂度之间取得平衡。

4.1.2进位的产生和传递

进位逻辑是加法器设计中影响运算速度的核心部分。

一、进位信号的基本逻辑

全加器的进位输出由两部分构成:

  1. 本地进位(本地生成) G i = A i ⋅ B i G_i = A_i \cdot B_i Gi=AiBi
    A i A_i Ai B i B_i Bi 均为1时,必然产生进位(与低位无关)。
  2. 传递进位(传递依赖) P i = A i ⊕ B i P_i = A_i \oplus B_i Pi=AiBi
    A i A_i Ai B i B_i Bi 为1时,低位进位可传递至高位。

进位表达式可简化为:
C i = G i + P i ⋅ C i − 1 C_i = G_i + P_i \cdot C_{i-1} Ci=Gi+PiCi1

逻辑电路图
在这里插入图片描述

二、并行进位技术

1. 完全并行进位(CLA)

所有进位直接由原始输入和最低位进位 C 0 C_0 C0 同时生成,不依赖相邻进位。
4位CLA的进位表达式
C 1 = G 1 + P 1 C 0 C 2 = G 2 + P 2 G 1 + P 2 P 1 C 0 C 3 = G 3 + P 3 G 2 + P 3 P 2 G 1 + P 3 P 2 P 1 C 0 C 4 = G 4 + P 4 (嵌套前3位进位生成逻辑) \begin{aligned} C_1 &= G_1 + P_1 C_0 \\ C_2 &= G_2 + P_2 G_1 + P_2 P_1 C_0 \\ C_3 &= G_3 + P_3 G_2 + P_3 P_2 G_1 + P_3 P_2 P_1 C_0 \\ C_4 &= G_4 + P_4 \text{(嵌套前3位进位生成逻辑)} \end{aligned} C1C2C3C4=G1+P1C0=G2+P2G1+P2P1C0=G3+P3G2+P3P2G1+P3P2P1C0=G4+P4(嵌套前3位进位生成逻辑)
优点:延迟固定为 2 t y 2t_y 2ty(1级 G i / P i G_i/P_i Gi/Pi计算 +1级逻辑门)。
缺点:硬件复杂度随位宽指数增长,实际应用中需分组实现。

2. 分组并行进位

两层设计思想:组内并行(Group Carry Lookahead)+ 组间并行。

  • 组内并行(如4位一组):组内所有进位同时生成。
  • 组间并行:通过“组生成函数” G ∗ G^* G 和“组传递函数” P ∗ P^* P 加速跨组进位。

关键公式
组生成函数 G ∗ = G 4 + P 4 G 3 + P 4 P 3 G 2 + P 4 P 3 P 2 G 1 组传递函数 P ∗ = P 4 P 3 P 2 P 1 组进位输出 C 4 = G ∗ + P ∗ C 0 \begin{aligned} \text{组生成函数} \quad G^* &= G_4 + P_4 G_3 + P_4 P_3 G_2 + P_4 P_3 P_2 G_1 \\ \text{组传递函数} \quad P^* &= P_4 P_3 P_2 P_1 \\ \text{组进位输出} \quad C_4 &= G^* + P^* C_0 \end{aligned} 组生成函数G组传递函数P组进位输出C4=G4+P4G3+P4P3G2+P4P3P2G1=P4P3P2P1=G+PC0

流程图(16位两级分组CLA)**:

在这里插入图片描述

三、分组方式对比

进位方式硬件复杂度最大延迟适用场景
串行进位低(简单级联) O ( n ) O(n) O(n)低速低成本芯片
单级分组CLA中等(组内并行) O ( n ) O(\sqrt{n}) O(n )通用CPU(如32位处理器)
多级分组CLA高(多级逻辑) O ( log ⁡ n ) O(\log n) O(logn)高性能计算(如GPU)

四、典型应用与优化

1. 示例:16位两级CLA

  • 组内延迟:每组4位的CLA生成 C 4 C_4 C4 2 t y 2t_y 2ty
  • 组间延迟:通过高层CLA生成跨组进位,再传递回组内,总延迟 4 t y 4t_y 4ty

关键优化点

  • 增量进位计算:组内生成 G i G_i Gi P i P_i Pi 后,直接用于高层逻辑,避免重复计算。
  • 专用逻辑电路:使用74181(4位ALU)和74182(CLA扩展器)实现快速级联。

五、总结

  • 并行进位核心:通过预先计算进位生成与传递关系,消除等待相邻进位时间。
  • 工程权衡:硬件资源与速度的平衡,分组策略需根据芯片制程和应用场景调整。
  • 实际应用:现代CPU多采用多级分组(如64位加法器分为4×16位组),配合动态调度优化效率。

4.1.3并行加法器的快速进位

一、快速进位的必要性

传统串行进位的并行加法器(行波进位)进位延迟与位数成正比(如16位加法器延迟32ty)。快速进位技术通过并行化处理减少进位传播时间,核心思路是通过逻辑预判提前生成所有进位。

二、并行进位逻辑表达式

对于每位进位 C i C_i Ci ,通过进位生成函数 G i G_i Gi进位传递函数 P i P_i Pi 递归展开:

  1. 单级先行进位(完全并行)
    C 1 = G 1 + P 1 C 0 C 2 = G 2 + P 2 G 1 + P 2 P 1 C 0 C 3 = G 3 + P 3 G 2 + P 3 P 2 G 1 + P 3 P 2 P 1 C 0 C 4 = G 4 + P 4 C 3 ( 依此类推 ) \begin{aligned} C_1 &= G_1 + P_1 C_0 \\ C_2 &= G_2 + P_2 G_1 + P_2 P_1 C_0 \\ C_3 &= G_3 + P_3 G_2 + P_3 P_2 G_1 + P_3 P_2 P_1 C_0 \\ C_4 &= G_4 + P_4 C_3 \quad (\text{依此类推}) \end{aligned} C1C2C3C4=G1+P1C0=G2+P2G1+P2P1C0=G3+P3G2+P3P2G1+P3P2P1C0=G4+P4C3(依此类推)

  2. 硬件实现矛盾

    • 优点:所有进位仅依赖 G i / P i G_i/P_i Gi/Pi C 0 C_0 C0,可同时生成。
    • 缺点:公式复杂度随位数指数增长(n位数需 n n n级逻辑门),实际需分组分层处理。
      在这里插入图片描述

三、分组进位技术

1. 单级分组并行进位(组内并行、组间串行)

  • 分组示例:将16位分为4组,每组4位。

  • 每组生成4位进位
    在这里插入图片描述

    优点:硬件简单,延迟降低为 8 t y 8ty 8ty(4组 × 2ty/组)。

2. 多级分组并行进位(组间并行)

  • 核心逻辑
    • 每组(如4位)生成组进位生成函数 G ∗ G^* G组进位传递函数 P ∗ P^* P
      G ∗ = G 4 + P 4 G 3 + P 4 P 3 G 2 + P 4 P 3 P 2 G 1 P ∗ = P 4 P 3 P 2 P 1 G^* = G_4 + P_4 G_3 + P_4 P_3 G_2 + P_4 P_3 P_2 G_1 \\ P^* = P_4 P_3 P_2 P_1 G=G4+P4G3+P4P3G2+P4P3P2G1P=P4P3P2P1
    • 高层CLA电路计算跨组进位:
      C 4 ( k + 1 ) = G k ∗ + P k ∗ C 4 k ( k = 0 , 1 , 2 , 3 ) C_{4(k+1)} = G^*_k + P^*_k C_{4k} \quad (k=0,1,2,3) C4(k+1)=Gk+PkC4k(k=0,1,2,3)
  • 示例(以16位双重分组为例):

在这里插入图片描述

- **延迟**:仅 $6ty$(组内2ty + 组间2ty + 二次组内2ty)

四、硬件电路实现

使用 CLA电路生成器(如74182芯片)与 基本加法单元(如74181):

在这里插入图片描述

五、典型对比

类型硬件复杂度最大延迟适用场景
行波进位 32 t y 32ty 32ty低速设备
单级分组(4位一组)中等 8 t y 8ty 8ty通用CPU
多级分组双 6 t y 6ty 6ty高性能计算(GPU)

六、关键流程图

单级分组硬件结构

在这里插入图片描述

多级分组信号流

在这里插入图片描述

通过上述机制,快速进位技术显著降低了加法运算的延迟,在现代CPU与高性能计算中广泛应用。

相关文章:

计算机组成原理笔记(十六)——4.1基本算术运算的实现

计算机中最基本的算术运算是加法运算,加、减、乘、除运算最终都可以归结为加法运算。 4.1.1加法器 一、加法器的基本单元 加法器的核心单元是 全加器(Full Adder, FA),而所有加法器都由 半加器(Half Adder, HA&…...

AI日报 - 2025年04月21日

🌟 今日概览(60秒速览) ▎🤖 AGI突破 | O3模型性能引热议,Rich Sutton提出「体验时代」新范式,自递归AI构建仍存挑战。 新模型如O3展示高IQ,但AGI定义与实现路径讨论加剧,强调自主生成数据与体验学习。 ▎&…...

基于Python的推荐算法的电影推荐系统的设计

标题:基于Python的推荐算法的电影推荐系统的设计与实现 内容:1.摘要 本文围绕基于Python的推荐算法的电影推荐系统展开研究。背景在于随着电影数量的急剧增加,用户在海量电影中找到符合自身喜好的影片变得困难。目的是设计并实现一个高效准确的电影推荐系统&#x…...

【perf】perf工具的使用生成火焰图

文章目录 1. What is perf?2. perf使用2.1 perf的子工具集2.2 常用指令perf list指令格式参数perf中事件分类使用示例 perf stat指令格式参数 perf top指令格式参数交互式界面操作使用示例 perf record指令格式参数使用示例 perf report指令格式参数交互式界面操作使用示例 pe…...

Sentinel源码—6.熔断降级和数据统计的实现一

大纲 1.DegradeSlot实现熔断降级的原理与源码 2.Sentinel数据指标统计的滑动窗口算法 1.DegradeSlot实现熔断降级的原理与源码 (1)熔断降级规则DegradeRule的配置Demo (2)注册熔断降级监听器和加载熔断降级规则 (3)DegradeSlot根据熔断降级规则对请求进行验证 (1)熔断降级…...

C语言自增自减题目

一、题目引入 二、运行结果 三、题目分析 这一题中 i的初始值是2 所以执行case2中的命令i-- 表达式的值此时是2 i--完了之后i最后的值是1 由于是switch没有break 就会往下贯穿 直到遇到break为止 case3里面 i 表达式的值是2 i完了之后i的值也是2 综上所述 i的值最终的值是…...

paddleocr出现: [WinError 127] 找不到指定的程序解决办法

paddleocr是一个由百度开发开源的OCR(光学字符识别)工具库。它支持多种语言的文本识别,包括中文、英文、日文等,并具备高效的文本检测和识别能力。paddleocr基于PaddlePaddle深度学习框架开发,提供了丰富的预处理、模型…...

c++STL——list的使用和模拟实现

文章目录 list的使用和模拟实现使用部分list的结构声名默认成员函数initializer_list容量和访问操作修改操作其他接口list的迭代器迭代器的种类 list的模拟实现明确基本结构预处理函数迭代器部分(重点)思路进一步考虑最终代码operator->的重载总结 begin和end访问接口修改操…...

交换机端口安全

端口安全 端口安全(PortSecurity)通过将接口学习到的动态MAC地址转换为安全MAC地址(包括安全动态MAC、安全静态MAC和Sticky MAC),阻止非法用户通过本接口和交换机通信,从而增强设备的安全性。 1、安全mac地址分类 安全动态MAC地址&#xf…...

【Oracle专栏】Oracle中的虚拟列

Oracle相关文档,希望互相学习,共同进步 风123456789~-CSDN博客 1.背景 在EXP方式导出时,发现 出现如下提示 EXP-00107: virtual column 不支持,因此采用expdp方式导出。于是本文针对oracle虚拟列进行简单介绍。 2. 相…...

shell 正则表达式与文本处理器

目录 前言 一、正则表达式 (一)定义与用途 (二)基础正则表达式 (三)基础正则表达式元字符 (四)扩展正则表达式 二、文本处理器:Shell 编程的得力助手 &#xff0…...

ZYNQ笔记(九):定时器中断

版本:Vivado2020.2(Vitis) 任务:使用定时器 (私有定时器) 中断 实现 LED(PS端) 定时1s亮灭翻转 目录 一、介绍 二、硬件设计 三、软件设计 四、效果 一、介绍 Zynq系列是Xilinx(现为AMD)推出的集成了AR…...

idea中运行groovy程序报错

我的项目是使用的 gradle 构建的。 在 idea 中运行Groovy的面向对象程序报错如下: Execution failed for task :Person.main(). > Process command G:/Program Files/jdk-17/jdk-17.0.12/bin/java.exe finished with non-zero exit value 1* Try: Run with --s…...

具身智能零碎知识点(四):联合嵌入预测架构(JEPAs)详解

联合嵌入预测架构(JEPAs)详解 联合嵌入预测架构(JEPAs)详解一、核心思想二、技术原理1. 核心组件2. 训练目标 三、与传统方法的对比四、具体实例例1:视频预测(如Meta的I-JEPA)例2:多…...

linux 搭建 dvwa 渗透测试环境

linux 安装 dvwa 1、分为4个部分,搭建dvwa渗透测试环境2、安装centos 7.63、安装apache http server4、安装mysql5、安装php6、运行dvwa 1、分为4个部分,搭建dvwa渗透测试环境 本文基于centos 7.6 搭建 dvwa 渗透测试环境 安装一个linux系统安装apache…...

C++项目 —— 基于多设计模式下的同步异步日志系统(4)(双缓冲区异步任务处理器(AsyncLooper)设计)

C项目 —— 基于多设计模式下的同步&异步日志系统(4)(双缓冲区异步任务处理器(AsyncLooper)设计) 异步线程什么是异步线程?C 异步线程简单例子代码解释程序输出关键点总结扩展:使…...

【Linux学习笔记】Linux的环境变量和命令行参数

【Linux学习笔记】Linux的环境变量和命令行参数 🔥个人主页:大白的编程日记 🔥专栏:Linux学习笔记 文章目录 【Linux学习笔记】Linux的环境变量和命令行参数前言一.环境变量1.1基本概念1.2常见环境变量1.3和环境变量相关的命令1…...

排序算法-快速排序

描述: 基准值选择:选取数组的最后一个元素 arr[high] 作为基准值 p。初始化索引:i 初始化为 low - 1,其作用是指向比基准值小的最后一个元素的索引。遍历数组:借助 for 循环从 low 到 high - 1 遍历数组。若当前元素 …...

软考高级系统架构设计师-第16章 数学与经济管理

【本章学习建议】 根据考试大纲,本章主要考查系统架构设计师单选题,预计考2分左右。主要是运筹学的计算问题,范围广、难度大,超纲题较多,不用深究。 16.1 线性规划 线性规划是研究在有限的资源条件下,如果…...

爱在冰川-慢就是快

【游资大佬の搞钱心法🔥|小白逆袭必看冰川语录真实案例‼️】 💡刚扒完爱在冰川的万字访谈 发现游资搞钱真的靠"反人性思维" 总结6条狠人法则真实案例 建议收藏反复背诵👇 1️⃣【周期为王】💫 "行情…...

Mac-VScode-C++环境配置

mac上自带了clang所以不是必须下载Homebrew 下面是配置文件(注释记得删一下) package.json {"name": "git-base","displayName": "%displayName%","description": "%description%",&quo…...

【JAVA EE初阶】多线程(1)

这样的代码,虽然也能打印hello thread,但是没有创建新的线程,而是直接在main方法所在的主线程中执行了run的逻辑 start方法,是调用系统api,真正在操作系统内部创建一个线程。这个新的线程会以run作为入口方法&#xff…...

PHP伪协议读取文件

借鉴php伪协议实现命令执行,任意文件读取_ctf php文件读取-CSDN博客 总结 在ctf中常用的有data:// , php://input , php://filter ,file:// php://input ,data://用来执行命令 1.php://input 的用法 http://127.0.0.1/include.php?filephp://input [P…...

动态调整映射关系的一致性哈希负载均衡算法详解

一、核心原理与设计要点 双重映射结构 一致性哈希负载均衡通过 哈希环 和 槽动态分配 实现双重映射关系: • 哈希环构建:将节点(物理或虚拟)和数据键(Key)通过哈希函数(如MD5、CRC32&#xff09…...

控制反转(IOC)和依赖注入(DI)

Target Retention Documented 元注解 Component 将类交给IOC容器管理,成为IOC容器中的bean Autowired 注入运行时所需要依赖的对象 因为Mabatis DAO层注解Reponsitory 基本不用了,现在Mapper层Mapper注解,这里的Mapper层相当于原来的DAO层…...

【每日八股】复习 MySQL Day1:事务

文章目录 复习 MySQL Day1:事务MySQL 事务的四大特性?并发事务会出现什么问题?MySQL 事务的隔离级别?不同事务隔离级别下会发生什么问题?MVCC 的实现原理?核心数据结构版本链构建示例可见性判断算法MVCC 可…...

【数据结构和算法】1. 数据结构和算法简介、二分搜索

本文根据 数据结构和算法入门 视频记录 文章目录 1. 数据结构和算法简介1.1 什么是数据结构?什么是算法?1.2 数据结构和算法之间的关系1.3 “数据结构和算法”有那么重要吗? 2. 二分搜索(Binary Search)2.1 算法概念2…...

4月19日记(补)算了和周日一块写了 4月20日日记

周六啊 昨天晚上又玩的太嗨了。睡觉的时候有点晚了,眼睛疼就没写日记。现在补上 实际上现在是20号晚上八点半了。理论上来说应该写今天的日记。 周六上午打比赛啦,和研究生,输了,我是替补没上场。没关系再练一练明天就可以变强…...

面试常用基础算法

目录 快速排序归并排序堆排序 n n n皇后问题最大和子数组爬楼梯中心扩展法求最长回文子序列分割回文串动态规划求最长回文子序列最长回文子串单调栈双指针算法修改 分割回文串滑动窗口栈 快速排序 #include <iostream> #include <algorithm>using namespace std;…...

微服务与 SOA:架构异同全解析与应用指南

微服务和 SOA&#xff08;面向服务的架构&#xff09;是两种不同的软件架构风格&#xff0c;它们在很多方面存在相似之处&#xff0c;但也有一些区别。以下是对它们的详细介绍&#xff1a; 一、概念 1.微服务 微服务架构将一个大型应用程序拆分成多个小型、独立的服务&#…...

Dijkstra 算法入门笔记 (适用于算法竞赛初学者) - C++ 代码版

目录 算法是做什么的&#xff1f;核心思想&#xff1a;贪就完事了&#xff01;算法前提&#xff1a;不能有负权边&#xff01;需要哪些工具&#xff1f;(数据结构)算法具体步骤关键操作&#xff1a;松弛 (Relaxation)两种实现方式 (C 代码) 朴素版 Dijkstra (O(V^2))堆优化版 …...

脑影像分析软件推荐| GraphVar介绍

目录 1.软件界面 2.工具包功能简介 3.软件安装注意事项 1.软件界面 2.工具包功能简介 GraphVar是一个用户友好的 MATLAB 工具箱&#xff0c;用于对功能性大脑连接进行全面的图形分析。这里我们介绍了该工具箱的全面扩展&#xff0c;使用户能够无缝探索跨功能连接测量的可轻…...

如何优雅地实现全局唯一?深入理解单例模式

如何优雅地实现全局唯一&#xff1f;深入理解单例模式 一、什么是单例模式&#xff1f; 单例模式是一种创建型设计模式&#xff0c;旨在确保一个类只有一个实例&#xff0c;并为该实例提供全局访问点&#xff0c;从而避免全局变量的命名污染&#xff0c;并支持延迟初始化Wiki…...

【Flutter】使用LiveKit和Flutter构建实时视频聊天应用

引言 在当今快速发展的数字世界中&#xff0c;实时视频通信已成为许多应用程序的核心功能。无论是远程工作、在线教育还是社交网络&#xff0c;高质量的实时视频功能都至关重要。LiveKit作为一个开源的WebRTC解决方案&#xff0c;提供了构建可扩展实时音视频应用所需的一切工具…...

Android Jetpack Compose 状态管理解析:remember vs mutableStateOf,有啥不一样?为啥要一起用?

&#x1f331;《Jetpack Compose 状态管理解析&#xff1a;remember vs mutableStateOf&#xff0c;有啥不一样&#xff1f;为啥要一起用&#xff1f;》 在 Jetpack Compose 的世界里&#xff0c;UI 是响应式的。这意味着当状态发生变化时&#xff0c;UI 会自动重组&#xff0…...

QT6 源(37):界面组件的总基类 QWidget 的源码阅读(下,c++ 代码部分)

&#xff08;1&#xff09; QT 在 c 的基础上增加了自己的编译器&#xff0c;以支持元对象系统和 UI 界面设计&#xff0c;有 MOC 、 UIC 等 QT 自己的编译器。本节的源代码里&#xff0c;为了减少篇幅&#xff0c;易于阅读&#xff0c;去除了上篇中的属性部分&#xff0c; 上篇…...

进程与线程:01 CPU管理的直观想法

多进程图像与操作系统核心 好从今天开始&#xff0c;我们就要开始学习操作系统&#xff0c;最核心的图像是多进程图像。前面我们讲过&#xff0c;多进程图像对操作系统来说非常重要&#xff0c;它是操作系统的核心图像。明白了它以后&#xff0c;对于理解操作系统的一大部分内…...

19. git reflog

基本概述 git reflog 的作用是&#xff1a;查看本地仓库的引用日志&#xff08;reference log&#xff09;&#xff0c;例如分支、HEAD等。它可以帮助你找回误删的提交、恢复被覆盖的分支&#xff0c;或回溯操作历史。 基本用法 1.查看完整的reflog git reflog这会显示所有…...

C语言 —— 铭纹织构未诞之镜 - 预处理详解

目录 1. 什么是预处理&#xff08;预编译&#xff09; ​编辑 2. 预定义符号 3. #define 定义常量 4. #define定义宏 5. 带副作用的宏参数 6. 宏替换的规则 7. 宏和函数的对比 8. #和## 8.1 #运算符 8.2 ## 运算符 9. #undef 10. 条件编译 1. 什么是预处理&#xf…...

Linux 文件系统目录结构详解

Linux 文件系统目录结构详解 Linux 文件系统遵循 Filesystem Hierarchy Standard (FHS) 标准&#xff0c;定义了各个目录的用途和文件存放规则。无论是开发者、运维工程师还是普通用户&#xff0c;理解这些目录的作用都至关重要。本文将全面解析 Linux 的目录结构&#xff0c;…...

2025-4-19 情绪周期视角复盘(mini)

我本以为市场进化规律下产生龙头战法的末法时代导致情绪周期逐步混乱或者说混沌期漫长。所谓的市场进化无非也是量化的发展和各类资金逐步量化化的充分博弈下的结果。通过逐步向上思考发现&#xff0c;不仅仅我们的市场是处于一个存量的时代背景&#xff0c;重要的是我们的思维…...

-实用类-

1. API是什么 2.什么是枚举 &#xff01;有点类似封装&#xff01; 2.包装类 注意&#xff1a; 1.Boolean类构造方法参数为String类型时&#xff0c;若该字符串内容为true(不考虑大小写)&#xff0c;则该Boolean对象表示true&#xff0c;否则表示false 2.当包装类构造方法参…...

Unity3D仿星露谷物语开发36之锄地动画2

1、目标 当角色锄地之后&#xff0c;地面会显示开垦后的样貌。 2、思路 上一篇中&#xff0c;虽然角色dig了hoe&#xff0c;同时grid属性也改变了&#xff0c;但是没有任何可视化的反馈。我们现在将添加新的功能&#xff0c;动态地将"dug ground"瓷砖添加到"…...

【备考高项】模拟预测题(一)案例分析及答案详解

更多内容请见: 备考信息系统项目管理师-专栏介绍和目录 文章目录 试题一【问题 1】(10分)【问题 2】(5分)【问题 3】(4分)【问题 4】(6分)试题二【问题 1】(12分)【问题 2】(3分)【问题 3】(6分)【问题 4】(4分)试题三【问题 1】(4分)【问题 2】(10分)【问题 3】…...

7、sentinel

控制台访问地址&#xff1a;http://localhost:8080/ 依赖 <dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-sentinel</artifactId> </dependency>配置文件 spring:cloud:sentinel:transpo…...

状态管理最佳实践:Provider使用技巧与源码分析

状态管理最佳实践&#xff1a;Provider使用技巧与源码分析 前言 Provider是Flutter官方推荐的状态管理解决方案&#xff0c;它简单易用且功能强大。本文将从实战角度深入讲解Provider的使用技巧和源码实现原理&#xff0c;帮助你更好地在项目中应用Provider进行状态管理。 基…...

INFINI Console 系统集群状态异常修复方案

背景介绍 运行 INFINI Console 1.29.0 和 1.29.1 版本 的用户在 新初始化 平台后可能会遇到一个特定问题。如果后台的系统 Easysearch/Elasticsearch 集群&#xff08;存储 Console 元数据的集群&#xff0c;通常名为 .infini_cluster 或类似名称&#xff09;包含超过一个节点…...

Spring Boot自动装配原理(源码详细剖析!)

什么是Spring Boot的自动装配&#xff1f; 自动装配是Spring Boot的核心功能&#xff0c;它能够根据应用程序的依赖和配置自动配置Spring。这意味着我们只需要添加大量的依赖&#xff0c;Spring Boot就能自动完成配置&#xff0c;减少了人工配置的工作量。 自动装配的核心注…...

大数据驱动的高效能量管理:智能优化与实践探索

大数据驱动的高效能量管理:智能优化与实践探索 在全球能源需求不断增长的背景下,如何提高能源利用效率成为各行业关注的焦点。传统的能源管理方式往往依赖固定规则和人工监测,难以适应复杂多变的应用场景。而大数据技术的兴起,为能量管理提供了新的解决方案——通过数据驱…...

《银行数字化风控-业务于实战》读后知识总结

引言 在金融科技高速发展的今天&#xff0c;银行的风控体系正经历从“人工经验驱动”向“数据智能驱动”的深刻变革。《银行数字化风控-业务于实战》一书以实战为导向&#xff0c;系统性地剖析了数字化风控的核心逻辑、技术实现路径及业务落地方法论。作为深耕风控领域多年的从…...