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

计算机组成原理笔记(十七)——4.2定点加减运算

定点数的加减运算包括原码、补码和反码3种带符号数的加减运算,其中补码加减运算实现起来最方便。

4.2.1原码加减运算

原码加减运算详解

原码是计算机中表示数值的基本方式之一,其特点为最高位为符号位(0表正,1表负),其余位为数值的绝对值。

一、运算规则

  1. 整体逻辑

    • 先判断操作数符号和运算类型(加减),再分情况处理绝对值。
    • 符号相同的数值相加或不同符号的数值相减时,需调整操作顺序以避免复杂判断。
    • 最终结果的符号需根据运算类型和数值比较确定。
  2. 具体规则

    • 符号位不参与数值运算,仅反映正负。
    • 加法运算
      • 同号:绝对值相加,符号保持不变。
      • 异号:绝对值相减,符号取决于绝对值较大者。
    • 减法运算
      • 转化为加法: A − B = A + ( − B ) A - B = A + (-B) AB=A+(B),即取 B B B的相反数符号后相加。

二、运算步骤

以原码加法为例(减法类似):

  1. 符号判断

    • 同符号:绝对值直接相加,符号沿用操作数符号。
    • 不同符号(实际为绝对值相减):
      1. 比较两数的绝对值大小。
      2. 大数减小数,结果符号与大数一致。
  2. 溢出处理

    • 若计算结果超出当前数据范围,需进行溢出处理(右移或扩展位数)。
  3. 结果规格化

    • 对尾数进行左/右移操作,保证数值最高有效位非零。

三、示例解析

例1:5(0101) + 3(0011)

十进制    原码二进制(四位)5     0 1013     0 011
-----------------
加法:绝对值相加 → 5+3=8,结果未溢出 → 0 1000(需扩展位数处理)
但四位原码最大值为7(0 111),溢出需右移尾数并调整阶码。

例2:5(0101) − 3(0011)

转化为加法:5 + (-3)
1. 取反:-3的原码为1 011
2. 比较符号不同,绝对值操作:5-3=2 → 结果符号为+ → 0 010

四、运算流程图

在这里插入图片描述

五、硬件实现与原码局限性

  1. 硬件逻辑

    • 需单独处理符号位、绝对值比较和运算控制。
    • 较多逻辑门电路用于比较和符号判断,复杂度高。
  2. 原码的局限性

    • 零的表示不唯一(+0和−0)。
    • 加减法需多次逻辑判断,效率低于补码。
    • 现代计算机普遍采用补码,原码主要用于理论学习和特定场景。

4.2.2补码加减运算

一、补码加减运算核心规则

公式定义

  • 加法:[𝑋+𝑌]_{补} = [𝑋]_补 + [𝑌]_补
  • 减法:[𝑋−𝑌]_{补} = [𝑋]_补 + [−𝑌]_补
    (减法转换为加法)

核心操作

  1. 求补操作:对减数𝑌进行补码转换:
    [−𝑌]_补 = [𝑌]_补 逐位取反(包括符号位)后+1
    示例
    [𝑌]_补 = 0 0011 ⇒ 取反 ⇒ 1 1100 ⇒ 加1 ⇒ [−𝑌]_补 = 1 1101

二、运算流程

在这里插入图片描述

三、溢出检测方法

  1. 单符号位法

    • 判断规则:当两个同符号数相加,结果符号相反时为溢出
      示例
      正 + 正 = 负 ⇒ 上溢;负 + 负 = 正 ⇒ 下溢
  2. 双符号位(变形补码)

    • 编码方式:00 正常正数 / 11 正常负数
    • 溢出模式
      • 同符号叠加后:01(正溢出)或10(负溢出)
        示例:00 + 00 = 00(正常),01(溢出)
  3. 进位判断法

    • 逻辑表达式:溢出 = 最高符号位进位 ⊕ 次高位进位
      示例:Cₙ(符号位进位)与Cₙ₋₁(数值最高位进位)异或为1时溢出

四、实例分析

例1:𝑋=+6(0110),𝑌=−3(1101补码)
计算𝑋+𝑌

   0 1 1 0 (6补码)
+ 1 1 0 1 (-3补码)
-----------(1)0 0 1 1 → 最高位溢出舍去 → 真值=+3 (0011)

例2:𝑋=+127(01111111),𝑌=+1→溢出

   0 1111111 (127补码)
+ 0 0000001 (1补码)
---------------1 0000000 → 符号位变1→溢出(结果-128错误)

五、硬件实现原理

逻辑电路图:控制信号根据加减选择是否对Y取反加1

在这里插入图片描述

六、表格总结补码加减关键点

运算类型补码转换操作溢出条件硬件指令控制
A+B直接取补码相加符号突变 / 变形补码为01或10加法信号
A−BB取反+1后与A相加同上减法信号使能取反

七、总结

补码加减通过统一运算逻辑简化设计,符号位直接参与计算无需额外处理。溢出需通过双符号位或进位标志及时检测,确保运算结果准确。硬件实现通过多路选择器和加法器高效完成正负数统一处理。

4.2.3补码的溢出判断与检测方法

一、溢出产生的原因

在补码加减运算中,溢出指运算结果超出了补码所能表示的范围,导致结果错误。溢出仅在以下两种情况下发生:

  • 同符号数相加:两正数相加得负数(正溢),或两负数相加得正数(负溢)。
  • 符号相同的数相减:本质转化为加法后可能导致溢出。

示例(假设8位补码):

  • 正溢出:0111 1111(127) + 0000 0001(1) = 1000 0000(-128)→ 符号位突变
  • 负溢出:1000 0000(-128) + 1000 0001(-127) = 0000 0001(1)→ 符号位突变

二、溢出检测方法

1. 单符号位法

逻辑表达式
OVR = X s ⋅ Y s ⋅ S s ‾ + X s ‾ ⋅ Y s ‾ ⋅ S s \text{OVR} = X_s \cdot Y_s \cdot \overline{S_s} + \overline{X_s} \cdot \overline{Y_s} \cdot S_s OVR=XsYsSs+XsYsSs
其中 X s , Y s X_s, Y_s Xs,Ys 为操作数符号位, S s S_s Ss 为结果符号位。
检测逻辑

  • 两个同符号数相加,结果的符号位与原操作数符号位不同时为溢出。
    逻辑图

在这里插入图片描述

2. 进位判断法

逻辑表达式
OVR = C s ⊕ C 1 \text{OVR} = C_s \oplus C_1 OVR=CsC1

  • C s C_s Cs:符号位产生的进位
  • C 1 C_1 C1:最高数值位(次高位)产生的进位
    检测逻辑
    若两符号位进位与次高位进位不同,则溢出。
    逻辑图

在这里插入图片描述

3. 双符号位(变形补码)

规则

  • 双符号位 S 1 S 2 S_1S_2 S1S2
    • 00:正常正数;11:正常负数
    • 01:正溢出;10:负溢出
      逻辑表达式
      OVR = S 1 ⊕ S 2 \text{OVR} = S_1 \oplus S_2 OVR=S1S2
      检测逻辑
      若运算结果的双符号位不同,则表示溢出。

硬件实现(溢出判断仅需异或门):

在这里插入图片描述

三、对比与流程

方法逻辑复杂度硬件开销适用场景
单符号位法中等中等通用逻辑设计
进位判断法快速并行运算
双符号位法(变形补码)高(扩展位数)精确控制(如浮点运算)

溢出检测流程图

在这里插入图片描述

四、硬件实现示例

补码加减运算电路框图

在这里插入图片描述

五、关键点总结

  1. 溢出仅发生在同符号操作:异号数加减不会溢出。
  2. 单符号位法侧重结果符号突变,双符号位通过冗余符号位检测溢出。
  3. 硬件优化:双符号位增加芯片面积但简化判定逻辑;进位判断法适合高速运算。

4.2.4补码定点加减运算的实现

一、基本原理

补码加减运算的核心思想是:通过补码表示将减法转换为加法,统一使用加法器完成运算。其关键点包括:

  1. 符号位参与运算:符号位与数值位共同参与运算,结果直接为补码形式。
  2. 减法转加法[X-Y]补 = [X]补 + [-Y]补,需通过“变补”操作得到 [-Y]补
  3. 溢出判断:需检测运算结果是否超出机器能表示的范围。

二、实现电路结构

典型补码加减运算电路如图4-3所示(简化版):
在这里插入图片描述

组件说明

  1. 并行加法器F:完成补码加法运算。
  2. 寄存器X/Y:存储操作数及结果。
  3. 控制信号:选择加法或减法模式(通过多路选择器实现变补)。
  4. 溢出检测逻辑:通过双符号位或进位链判断溢出。

三、运算步骤(以n位补码为例)

1. 加法运算

  • 输入[X]补[Y]补

  • 操作:直接相加,符号位参与运算。

  • 输出[X+Y]补

  • 示例

    [X]补 = 0.1011 (5), [Y]补 = 1.0110 (-6)
    [X+Y]补 = 0.1011 + 1.0110 = 1.0001 (-5) ✅
    

2. 减法运算

  • 输入[X]补[Y]补

  • 操作:将 Y 变补为 [-Y]补,再与 X 相加。

    • 变补步骤
      1. [Y]补 按位取反(包括符号位)。
      2. 末位加1。
  • 输出[X-Y]补

  • 示例

    [X]补 = 0.1011 (5), [Y]补 = 1.0110 (-6)
    [-Y]补 = 0.1010 (6)
    [X-Y]补 = 0.1011 + 0.1010 = 1.0101 (-1) ❌(实际应为11,此处需注意进位丢失)
    

四、溢出判断

补码运算可能产生溢出(结果超出表示范围),需通过以下方法检测:

1. 双符号位法

  • 规则:运算结果的双符号位不同表示溢出。

    • 01:正溢出(结果过大)。
    • 10:负溢出(结果过小)。
  • 示例

    [X]补 = 01.1000 (120), [Y]补 = 01.0100 (120)
    [X+Y]补 = 10.1100 → 双符号位为 `10` → 负溢出 ❌
    

2. 进位链判别法

  • 规则:最高位进位 C_n 与次高位进位 C_{n-1} 异或结果为1时溢出。

    • C_n ⊕ C_{n-1} = 1 → 溢出。
  • 示例

    加法器进位链:C_3 C_2 C_1 C_01   0   1   1C_n=1, C_{n-1}=0 → 1⊕0=1 → 溢出 ❌
    

五、时序与延迟分析

补码加减运算的延迟主要由进位链决定。以4级先行进位加法器为例:

  1. 组内进位:第1小组(C1~C3)延迟 2ty
  2. 组间进位:CLA电路生成C4~C16需 2ty
  3. 总延迟:最长路径为 6ty(如图4-7)。

在这里插入图片描述

六、关键电路设计

1. 变补电路
  • 功能:将 [Y]补 转换为 [-Y]补
  • 实现:对位取反 + 末位加1。
2. 多路选择器控制
  • 功能:根据操作类型(加/减)选择输入信号。
  • 逻辑
    在这里插入图片描述

七、总结

补码加减运算通过统一加法器实现加减操作,核心在于:

  1. 变补操作:将减法转换为加法。
  2. 溢出检测:双符号位或进位链判别法。
  3. 硬件简化:无需单独设计减法器,降低成本

相关文章:

计算机组成原理笔记(十七)——4.2定点加减运算

定点数的加减运算包括原码、补码和反码3种带符号数的加减运算,其中补码加减运算实现起来最方便。 4.2.1原码加减运算 原码加减运算详解 原码是计算机中表示数值的基本方式之一,其特点为最高位为符号位(0表正,1表负)…...

javase 学习

一、Java 三大版本 javaSE 标准版 (桌面程序; 控制台开发) javaME 嵌入式开发(手机、小家电)基本不用,已经淘汰了 javaEE E业级发开(web端、 服务器开发) 二、Jdk ,jre jvm 三…...

成品检验工程师心得总结

岗位:成品检验助理工程师 成品检验工程师——————>OQC工程师 何为成品? 简单来说,就是已经完成了产品的开发,测试,满足客户所有需求开发的产品。 成品检验工程师对应的是哪一个角色? 客户&…...

操作系统:进程是一个非常重要的抽象概念

在操作系统中,进程是一个非常重要的抽象概念,它是程序在计算机上的执行实例,是系统进行资源分配和调度的基本单位。 一、进程的定义 从动态角度来说,进程是程序的一次执行过程。例如,当你在计算机上打开一个文本编辑…...

QML 字符串格式化

在 QML 中,处理字符串格式化有多种方法,以下是常用的字符串格式化函数和技巧: 1. 基本字符串连接 qml var str "Hello, " "QML!"; // 简单连接 var name "Alice"; var greeting Hello, ${name}; // 模…...

堆排序的C++相关实现

大根堆的实现 #include <iostream> #include <vector> using namespace std;// 调整堆&#xff0c;确保以i根节点的子树满足大根堆 void heapify(vector<int>& vec, int n , int i) {int largest i;int left 2 * i 1;int right 2 * i 2;if (left &…...

c++类与对象(一)

前言&#xff1a; 什么是面向对象编程&#xff1f;什么是类与对象&#xff1f;为啥要搞类与对象啊&#xff1f;凭什么c能支持面向对象编程啊&#xff1f; 每次学东西前问自己几个问题会挺爽的&#xff0c;因为你越是懵逼&#xff0c;你就越想知道答案是什么。希望我的这几篇文章…...

(二)mac中Grafana监控Linux上的MySQL(Mysqld_exporter)

框架&#xff1a;GrafanaPrometheusMysqld_exporter 一、监控查看端安装 Grafana安装-CSDN博客 普罗米修斯Prometheus监控安装&#xff08;mac&#xff09;-CSDN博客 1.启动Grafana服务 brew services start grafana 打开浏览器输入http://localhost:3000进入grafana登录…...

认知升级:把握人工智能教育化转型的历史机遇

认知升级&#xff1a;把握人工智能教育化转型的历史机遇 ----灌南县第四中学 孟祥帅 2025年4月17日至19日&#xff0c;我有幸参加了教育部主办的“全国人工智能校长局长专题培训班”。此次大会以“人工智能赋能教育现代化”为主题&#xff0c;汇聚了全国各地的教育局局长、校…...

人形机器人马拉松:北京何以孕育“领跑者”?

“机器人每跑一小步&#xff0c;都是人类科技的一大步”&#xff0c;这句对阿姆斯特朗登月名言的仿写&#xff0c;恰如其分地诠释了全球首场人形机器人半程马拉松赛事的里程碑意义。 2025年4月19日&#xff0c;北京亦庄半程马拉松暨人形机器人半程马拉松圆满结束。在总长21.09…...

HBuilder X:前端开发的终极生产力工具

一、极速下载与部署指南 官方下载地址&#xff1a;HBuilderX-高效极客技巧 HBuilder X 提供轻量化绿色发行包&#xff08;仅 10 余 MB&#xff09;&#xff0c;支持 Windows、macOS、Linux 全平台。 安装流程&#xff1a; Windows 用户&#xff1a; 下载.zip压缩包后解压至非系…...

对于校园网如何进行用户识别——captive portal的原理学习总结

一、技术名称总结 这一技术的核心称为 Captive Portal&#xff08;强制门户&#xff09;&#xff0c;中文常译为“认证门户”或“强制门户”。它是通过拦截未认证用户的网络流量&#xff0c;强制跳转到指定登录页面的技术。 二、技术提供方与部署逻辑 Captive Portal的实现主…...

肖特基二极管详解:原理、作用、应用与选型要点

一、肖特基二极管的基本定义 肖特基二极管&#xff08;Schottky Diode&#xff09; 是一种基于金属-半导体结&#xff08;肖特基势垒&#xff09;的二极管&#xff0c;其核心特性是低正向压降&#xff08;Vf≈0.3V&#xff09;和超快开关速度。 结构特点&#xff1a;阳极采用金…...

6.数据手册解读—运算放大器(三)

7、应用和实现 7.1应用信息 TLV916x 系列提供了出色的直流精度和交流性能。 这些器件的工作电压高达 16V&#xff0c; 并提供真正的轨到轨输入/输出、 低失调电压、失调电压漂移以及 11MHz 带宽和高输出驱动。TLV916x适用于16V工业应用。 7.2 典型应用 7.2.1 低边电流测量 下…...

关于隔离1

1.隔离的目的&#xff1a; 在隔离电源设计中&#xff0c;输入与输出之间没有直接电气连接&#xff0c;提供绝缘高阻态&#xff0c;防止电流回路。这意味着输入与输出之间呈现为绝缘的高阻态&#xff0c;从而确保了无电流回路的形成。 隔离与可靠保护有关。电隔离是一种电路设…...

大语言模型推理能力的强化学习现状理解GRPO与近期推理模型研究的新见解

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…...

【NLP 60、实践 ⑭ 使用bpe构建词表】

目录 一、BPE&#xff08;Byte Pair Encoding&#xff09;算法详解 1.基本概念 2.核心思想 3.算法步骤详解 Ⅰ、预处理 Ⅱ、统计字符对频率 Ⅲ、合并高频字符对 Ⅳ、编码与解码 ① 编码&#xff08;文本→子词序列&#xff09; ② 解码&#xff08;子词序列→文本&#xff09; …...

String +memset字符串类题型【C++】

tips&#xff1a; 1、寻找最大公共子串时&#xff0c;如果字符串可以旋转但是不能反转&#xff0c;考虑在每个字符串后重复一次自身&#xff0c;如 "abcd" 变为 "abcdabcd"&#xff0c;这样在用dp就可以了。 如何变环拆环为链&#xff1a; cin>>n&…...

06 GE Modifier

看看这个 问题。怪&#xff01;究竟下一个modifier能不能访问到上一个&#xff1f;刚才还可以啊现在怎么不行了。 这里捕获了Owner的属性&#xff0c;Source不知道在哪捕获的 CalculationType: 1.使用计算后的值 2.使用基础值 3.使用计算后的值-基础值。 BackingAttributes Sou…...

30元一公斤的樱桃甜不甜

2025年4月20日&#xff0c;13~27℃&#xff0c;还好 待办&#xff1a; 综合教研室——会议记录3份&#xff08;截止年4月18日&#xff09; 备课冶金《物理》 备课理工《高数》 备课理工《物理》 教学技能大赛教案&#xff08;2025年4月24日&#xff0c;校赛&#xff0c;小组合作…...

App-Controller - 通过自然语言操控应用程序的智能框架

本文翻译整理自&#xff1a;https://github.com/alibaba/app-controller 一、关于 App-Controller App-Controller 是基于大语言模型(LLMs)和智能体(Agents)构建的创新性API编排框架&#xff0c;旨在利用LLMs的高级推理能力来集成和同步各类应用程序提供的API。 上图展示了App…...

Deepseek输出的内容如何直接转化为word文件?

我们有时候会直接利用deepseek翻译别人的文章或者想将deepseek输出的内容直接复制到word文档里。但是文本格式和word是不对应的。这时候需要输入如下命令&#xff1a; 以上翻译内容的格式和排版要求如下&#xff1a; 1、一级标题 字体为黑体&#xff08;三号&#xff09;&…...

深入剖析 Java Web 项目序列化:方案选型与最佳实践

在 Java Web 开发中&#xff0c;“序列化”是一个你无法绕过的概念。无论是缓存数据、共享 Session&#xff0c;还是进行远程过程调用&#xff08;RPC&#xff09;或消息传递&#xff0c;序列化都扮演着底层数据搬运工的角色。它负责将内存中的 Java 对象转换成可传输或可存储的…...

第36讲:作物生长预测中的时间序列建模(LSTM等)

目录 🧠 为什么用时间序列模型来预测作物生长? ⛓️ 什么是 LSTM? 📊 示例案例:预测小麦NDVI变化趋势 1️⃣ 模拟数据构建(或使用真实遥感数据) 2️⃣ 构建 LSTM 所需数据格式 3️⃣ 构建并训练 LSTM 模型 4️⃣ 模型预测与效果可视化 🧠 除了 LSTM,还有哪…...

LeetCode 每日一题 2563. 统计公平数对的数目

2563. 统计公平数对的数目 给你一个下标从 0 开始、长度为 n 的整数数组 nums &#xff0c;和两个整数 lower 和 upper &#xff0c;返回 公平数对的数目 。 如果 (i, j) 数对满足以下情况&#xff0c;则认为它是一个 公平数对 &#xff1a; 0 < i < j < n&#xff0c…...

Redis 哨兵与集群脑裂问题详解及解决方案

Redis 哨兵与集群脑裂问题详解及解决方案 本文将深入探讨Redis在哨兵模式和集群模式下可能出现的脑裂问题&#xff0c;包括其发生场景、原因以及有效的解决策略。同时&#xff0c;我们还将提供相应的代码示例和配置方案来帮助读者理解和实施。 一、脑裂问题概述 脑裂&#x…...

Laravel-vite+vue开发前端模板

开始这篇文章的时候&#xff0c;你已经安装了laravel&#xff01;你已经安装了laravel&#xff01;你已经安装了laravel&#xff01; 然后你的laravel服务器环境已经搭建好&#xff0c;应用可以正常访问 laravel vite plugin 官方原文 laravel默认已经集成vitejs,单纯使用vi…...

springboot+vue3+mysql+websocket实现的即时通讯软件

项目演示 即时通讯软件项目演示 业务架构 技术栈 后端 选用编程语言 Javaweb框架SpringBootdb MySQL 持久存储nosql 缓存 Redis全双工通信框架 WebSocket 前端 前端框架Vue3TypescriptUI样式 Css、ElementPlus网页路由 vue-router全双工通信框架Websocket 功能完成情况 已实…...

HTMLCSS实现网页轮播图

网页中轮播图区域的实现与解析 在现代网页设计中&#xff0c;轮播图是一种常见且实用的元素&#xff0c;能够在有限的空间内展示多个内容&#xff0c;吸引用户的注意力。下面将对上述代码中轮播图区域的实现方式进行详细介绍。 一、HTML 结构 <div class"carousel-c…...

HTML表单与数据验证设计

HTML 表单与数据验证设计&#xff1a;构建可靠的用户数据采集系统 引言 互联网的核心是数据交互&#xff0c;而HTML表单是这一交互的主要入口。作为前端工程师&#xff0c;设计高质量的表单不仅关乎用户体验&#xff0c;更直接影响数据收集的准确性和系统安全。 在我的学习实…...

[Windows] 星光桌面精灵 V0.5

[Windows] 星光桌面精灵 链接&#xff1a;https://pan.xunlei.com/s/VOOI9NCNDB0iBONt5gz7zUb9A1?pwdgxa6# [Windows] 星光桌面精灵 V0.5 这款桌面精灵是动态的&#xff0c;而且还可以做快捷启动...

Java 网络编程性能优化:高吞吐量的实现方法

Java 网络编程性能优化&#xff1a;高吞吐量的实现方法 在当今的互联网时代&#xff0c;网络应用的性能优化是开发人员面临的重要挑战之一。Java 作为一门广泛使用的编程语言&#xff0c;提供了强大的网络编程支持&#xff0c;但如何通过优化实现高吞吐量&#xff0c;是每个 J…...

【去哪儿网】登录滑块逆向算法AES加密分析(逆天滑块轨迹)

目标&#xff1a;aHR0cHM6Ly91c2VyLnF1bmFyLmNvbS9wYXNzcG9ydC9sb2dpbi5qc3A 验证接口&#xff1a; https://vercode.qunar.com/inner/captcha/snapshot 可以发现是encryption方法生成&#xff0c;进入encryption里面&#xff0c;发现是AES加密的轨迹 track就是轨迹 直接…...

Redis ④-通用命令

Redis 是一个 客户端-服务器 结构的程序&#xff0c;这与 MySQL 是类似的&#xff0c;这点需要牢记&#xff01;&#xff01;&#xff01; Redis 固然好&#xff0c;但也不是任何场景都适合使用 Redis&#xff0c;一定要根据当前的业务需求来选择是否使用 Redis Redis 通用命令…...

机制的作用

“机制”是一个广泛使用的概念&#xff0c;其含义和应用范围因领域而异。在不同的学科和实际应用中&#xff0c;机制有着不同的定义和功能。以下从几个主要领域对“机制”进行详细解释&#xff1a; 一、自然科学中的机制 &#xff08;一&#xff09;物理学 定义 在物理学中&…...

Pandas:数据处理与分析的核心操作

Pandas&#xff1a;数据处理与分析的核心操作 Pandas 是 Python 数据分析的核心库&#xff0c;它提供了高性能、易用的数据结构和数据分析工具。本文将详细介绍 Pandas 的核心操作&#xff0c;帮助你高效进行数据处理和分析。 1. Pandas 基础数据结构 Pandas 有两个主要的数…...

Kotlin实现Android应用保活方案

Kotlin实现Android应用保活优化方案 以下的Android应用保活实现方案&#xff0c;更加符合现代Android开发规范&#xff0c;同时平衡系统限制和用户体验。 1. 前台服务方案 class OptimizedForegroundService : Service() {private val notificationId 1private val channel…...

硬件电路(25)-过温保护器件ksd9700温控开关

一、概述 KSD9700系列温控开关是一种双金属作为感温元件的温控器&#xff0c;具有动作迅速、控温精确、控制电流大、使用寿命长的特点&#xff0c;被广泛应用于各类微型电机、电磁炉、空调电机、小家电等做温度保护控制。 二、应用 KSD9700系列产品是一种双金属作为感温元件的…...

vuex实现同一页面radio-group点击不同按钮显示不同表单

本文实现的是点击单一规格和多规格两个按钮会在页面显示不同的表单 方法一 <!-- 单规格和多规格的切换 --> <el-form label-width"80px" class"text-align-left"><el-form-item label"商品规格"><!-- 监听skus_type的改…...

代码随想录训练营第36天 ||1049. 最后一块石头的重量 II 494. 目标和 474. 一和零

1049. 最后一块石头的重量 II 讲解&#xff1a;代码随想录 思路&#xff1a; 01背包问题&#xff1a;题意说要求粉碎石头后留下的最小石头重量&#xff0c;石头粉碎的规则是两个石头如果重量相等&#xff0c;同时粉碎&#xff0c;如果重量不相等&#xff0c;粉碎后的重量是大…...

[Spring]SSM整合

第一步 整合任何框架&#xff0c;首先都是导入相关的jar包&#xff1a; <dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><version>5.3.18</version></dependency><!--mybatis依…...

【HDFS】HDFS数据迁移与备份全攻略:从日常备份到灾难恢复

目录 1 HDFS数据迁移与备份概述 2 集群间数据迁移&#xff1a;DistCp工具详解 2.1 DistCp工作原理架构 2.2 DistCp标准工作流程 2.3 DistCp性能优化方案 3 离线备份实施策略 3.1 HDFS到本地备份架构 4 灾难恢复方案设计 4.1 基于快照的恢复流程 4.2 数据一致性校验方…...

动态规划入门:背包问题求具体方案(以0-1背包问题为例)

本质&#xff1a;有向图最短&#xff08;长&#xff09;路问题 字典序最小方案&#xff1f;--贪心思路&#xff1f;&#xff08;本题未使用&#xff09; 分析第一个物品&#xff1a; 写代码时tip&#xff1a;要考虑“边读边做”还是“先读后做” #include<iostream> #i…...

git学习日志

你看到的是 Vim 文本编辑器的界面&#xff0c;并非 git 的窗口。这是你通过 vim hello.txt 命令打开的新文件。以下是分步操作指南&#xff1a; 1. 进入编辑模式 按下键盘上的 i 键&#xff08;进入 “INSERT” 模式&#xff09;&#xff0c;此时左下角会显示 -- INSERT --。现…...

数字孪生废气处理工艺流程

图扑数字孪生废气处理工艺流程系统。通过精准 3D 建模&#xff0c;对废气收集、预处理、净化、排放等全流程进行 1:1 数字化复刻&#xff0c;实时呈现设备运行参数、污染物浓度变化等关键数据。 借助图扑可视化界面&#xff0c;管理者可直观掌握废气处理各环节状态&#xff0c…...

iPhone 13P 换超容电池,一年实记的“电池循环次数-容量“柱状图

继上一篇 iPhone 13P 更换"移植电芯"和"超容电池"&#x1f50b;体验&#xff0c;详细记录了如何更换这两种电池&#xff0c;以及各自的优略势对比。 一晃一年过去&#xff0c;时间真快&#xff0c;这次分享下记录了使用超容电池的 “循环次数 - 容量(mAh)…...

豆瓣图书数据采集与可视化分析(二)- 豆瓣图书数据清洗与处理

文章目录 前言一、查看数据基本信息二、拆分pub列三、日期列处理四、价格列处理五、出版社列处理六、评价人数列处理七、缺失值处理八、重复数据处理九、异常值处理十、完整代码十一、清洗与处理后的数据集展示 前言 豆瓣作为国内知名的文化社区&#xff0c;拥有庞大且丰富的图…...

【Sa-Token】学习笔记05 - 踢人下线源码解析

目录 前言 强制注销 踢人下线 源码解析 前言 所谓踢人下线&#xff0c;核心操作就是找到指定 loginId 对应的 Token&#xff0c;并设置其失效。 上图为踢人下线后&#xff0c;前端应该用图像给出来让用户重新登录&#xff0c;而不是让前端收到一个描述着被下线 的JSON 强…...

Linux | I.MX6ULL 文件系统

01 本节所有的测试程序需要开发板有 Qt 环境来运行。我们提供的文件系统是由 yocto 裁剪整理得来的。之后我们会整理一份单独移植的 qt 系统。方便用户移植第三方软件。如果用户的文件系统非我们的出厂版本,请参考之前烧写章节重新烧写出厂文件系统。开发板启动需要输入登录…...

Python3基础语法

一&#xff1a;注释 Python中用#表示单行注释&#xff0c;#之后的同行的内容都会被注释掉。 使用三个连续的双引号表示多行注释&#xff0c;两个多行注释标识之间内容会被视作是注释。 二&#xff1a;基础变量类型与操作符 1. 除法 * 除法 / python3中就算是两个整数相除&a…...