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

溢出存储变量

9HCLDZOIW$GR{0~X{%(6Q9S

这个 negative(i) 表示的就是 (-i) 这个数(其中 i>=0),在二进制下的编码。

这个编码满足 \(i+negative(i)=2^k\),可是由于我们二进制下只有 \(k\) 位,最高位是 \(2^{k-1}\),所以那个 \(1\) 会被丢掉,所以加起来结果为 \(0\)

那如何确定一个数被存储为多少,因为前面那些它都会被舍弃,我们可以在 \(\mod 256\) 下找对应编号,以及编号对应的值,比如 \(- 1 \mod 256=255\),所以我们找到编号为 255 的值是 -1,而 -1 的编号就是 255,也就是我们变量里可以看成存的是编号,实际的值我们要去找对应。

对于我们赋值为 255,最后却输出了 -1,这种东西就叫 溢出(overflow)

image

负数&补码

好的,我们来详细讲解一下这张图片所传达的核心概念——计算机中负数的表示方法,也就是补码(Complement)

这张图是一个非常直观的教学材料,它系统地解释了为什么以及如何用补码来表示负数。

核心思想:什么是“补”?

图片左侧首先解释了“补”的概念:

a + b = 常数,则称a是b的补,b是a的补。

这就像我们日常生活中:

  • 在十进制里,73 关于10的补数,因为 7 + 3 = 10
  • 在时钟上,11点 也可以看作是 -1点 关于12的补数,因为 11 + 1 = 12

计算机借鉴了这个聪明的思想,但它的世界是二进制的,所以这个“常数”是 2 的 k 次方(k是二进制数的位数)。


二进制的补:补码的定义

图片给出了二进制补码的计算公式:

Negative(i) = 2^k - i

  • k: 代表数据的位数。例如,一个字节(byte)由8个比特(bit)组成,所以 k = 8。
  • i: 我们想要表示的正数
  • Negative(i): 我们要求得的负数 -i 的二进制表示(即补码)。

举个例子(k=8):
我们想求十进制数 5 的负数表示。
Negative(5) = 2^8 - 5 = 256 - 5 = 251
所以,十进制数 251 所对应的二进制码,就代表了 -5

这也解释了图片中的另一个要点:

负数 + 对应的正数 = 256
(5 + 251 = 256)


深入理解:字节(Byte)的例子

图片以 8 位的字节(Byte)为例进行了说明,这是理解补码最经典的场景。

  1. 取值范围:一个字节可以表示 2^8 = 256 个不同的值。

    • 正数0127 (共128个)
    • 负数-1-128 (共128个)
    • 没有 +0 和 -0:这是补码设计的精妙之处,它完美地解决了“零”有两种表示的问题。
  2. 符号位 (Sign Bit)

    • 图片指出:“负数第一位是1正数是0,所以它称为符号位”。
    • 在8位二进制中,最高位(最左边的那一位)就是符号位
      • 0 开头的数字是正数或零。(例如:0xxxxxxx)
      • 1 开头的数字是负数。(例如:1xxxxxxx)
    • 这让我们能非常快速地判断一个数是正还是负。
  3. -1 的特殊性

    • 图片提到 “-1即是从第k位借位减一,一定是全111...111”。
    • 根据公式:Negative(1) = 256 - 1 = 255
    • 255 的二进制表示正是 1111 1111
    • 你可以把它想象成 “向高位借1”(也就是256),然后减去1,结果自然是255(即8个1)。这在数学上和电路设计上都非常方便。

解读右侧的对照表

右侧的表格是以上所有理论的具体实践。它清晰地展示了:

  • 绿色部分(上半部分)正数。从 0 (二进制 0000 0000) 开始,向上递增到 127 (二进制 0111 1111)。注意,所有正数的符号位都是 0
  • 红色部分(下半部分)负数(补码形式)。从 -1 (二进制 1111 1111) 开始,向下递减(数值变小)到 -128 (二进制 1000 0000)。注意,所有负数的符号位都是 1
  • 黑色箭头:指示了二进制码本身的数值(如果把它当作无符号数来看)是从上到下递增的。0000 0000 (0) 最小,1111 1111 (255) 最大。
    • 这带来了一个巨大的好处:计算机的CPU不需要为有符号数设计专门的加法器!
    • 例如,计算 5 + (-3)
      • 5 的补码是 0000 0101
      • -3 的补码是 1111 1101 (因为 256 - 3 = 253,253的二进制是1111 1101)
      • 直接把两个二进制码相加:0000 0101 + 1111 1101 = 1 0000 0010
      • 由于byte只有8位,最高位的1被舍弃,剩下 0000 0010,这正是十进制 2 的补码!结果完全正确。

总结

这张图片精炼地介绍了计算机表示负数的核心方法——补码

  1. 目的:为了解决计算机中负数的存储和计算问题。
  2. 原理:利用“补数”的概念,用正数编码来表示对应的负数。负数的补码 = 模 - 正数的值
  3. 特点
    • 符号位,最高位为1代表负数。
    • 0有唯一的表示(全0)。
    • 表示范围不对称(例如byte是 -128 ~ +127)。
  4. 优势可以将减法运算转换为加法运算,极大简化了CPU内部硬件电路的设计。这是补码方案成为业界标准的最主要原因。

希望这个讲解能帮助你彻底理解这张图的内容!

原码&反码&补码

好的,我们来系统地梳理一下 原码、反码、补码 这三种表示方法,它们都是为了解决同一个核心问题:如何在计算机中用二进制表示有符号整数(正数、负数和零)?

计算机的CPU只有加法器,没有减法器。为了让它能计算 5 - 3,我们需要想办法把 -3 表示出来,并且让 5 + (-3) 能得到正确的结果 2。这三种编码就是历史上出现的不同解决方案。


1. 原码 (Sign-Magnitude)

  • 核心思想:最直观的想法
    • 最高位表示符号:0 代表正数,1 代表负数。
    • 剩下的位表示这个数的绝对值(大小)。
  • 例子 (8位):
    • +50 000 0101 (符号位0 + 5的二进制)
    • -51 000 0101 (符号位1 + 5的二进制)
    • +00 000 0000
    • -01 000 0000 (问题来了!)
  • 优点:
    • 非常直观,人类最容易理解。
  • 致命缺点:
    • 存在两个零 (+0-0): 这不仅浪费了一个编码组合,还会在比较和运算时带来麻烦(计算机需要额外判断 0 == -0 为真)。
    • 加减运算复杂: CPU不能直接用加法器进行运算。
      • 例如计算 5 + (-3)
        • 原码:0000 0101 + 1000 0011 = 1000 1000 (即 -8),这显然是错误的!
      • 进行加减法时,CPU需要先判断符号位:
        • 如果符号相同,做加法,结果符号不变。
        • 如果符号不同,要用绝对值大的数减去绝对值小的数,结果的符号取绝对值大的数的符号。
      • 这需要额外的逻辑电路,效率低下。

总结: 原码虽然直观,但存在 ±0 问题和复杂的运算逻辑,不适合计算机硬件实现。


2. 反码 (Ones' Complement)

  • 核心思想:尝试解决运算问题
    • 正数的反码 = 其原码。
    • 负数的反码 = 其原码的符号位不变,其他位按位取反0110)。
  • 例子 (8位):
    • +50 000 0101 (和原码一样)
    • -5
      • 原码: 1 000 0101
      • 符号位不变:1
      • 其他位取反:111 1010
      • 反码: 1 111 1010
    • +00 000 0000
    • -0
      • 原码: 1 000 0000
      • 反码: 1 111 1111 (问题依然存在!)
  • 优点(相比原码):
    • 进行加法运算时,如果最高位有进位,需要把这个进位加回到结果的最低位(称为“循环进位”或“回绕”)。这样,加法器可以统一处理正负数相加(至少在部分情况下)。
      • 例如计算 5 + (-3)
        • 5 的反码: 0000 0101
        • -3 的反码: 1111 110030000 0011,取反1111 1100
        • 相加: 0000 0101 + 1111 1100 = 1 0000 0001 (产生进位)
        • 把进位 1 加回最低位: 0000 0001 + 1 = 0000 0010 (即 2,正确!)
  • 缺点:
    • 仍然存在两个零 (+0-0): 0000 00001111 1111
    • 循环进位增加硬件复杂度: 每次加法都需要判断是否有进位并处理,降低了效率。
    • 表示范围不对称: 对于8位,范围是 -127 (1111 1111)+127 (0111 1111),缺少了 -128

总结: 反码解决了原码的部分运算问题(加法可以统一处理),但 ±0 问题和循环进位依然存在,效率不够理想。


3. 补码 (Two's Complement) - 现代计算机的标准!

  • 核心思想:完美解决 ±0 和运算问题
    • 正数的补码 = 其原码。
    • 负数的补码 = 其反码 + 1
    • 或者更本质地: 负数的补码 = 2^k - |X| (k是位数)。对于8位,2^8 = 256,所以 -5 的补码是 256 - 5 = 251 (1111 1011)。
  • 例子 (8位):
    • +50 000 0101 (和原码、反码一样)
    • -5
      • 原码: 1 000 0101
      • 反码: 1 111 1010
      • 反码 + 1: 1 111 1010 + 1 = 1 111 1011 (1111 1011)
      • (或 256 - 5 = 251 -> 1111 1011)
    • +00000 0000
    • -0不存在!
      • 计算 -0 的补码:
        • 原码: 1000 0000
        • 反码: 1111 1111
        • 反码 + 1: 1111 1111 + 1 = 1 0000 0000 (9位)。舍弃最高位进位,剩下 0000 0000。结果和 +0 相同!
    • 额外收获: 1000 0000 这个原本可能表示 -0 的编码,被赋予了新的意义:-128
      • 因为 1000 0000 作为无符号数是 128,根据补码定义 128 - 256 = -128
  • 优点:
    • 唯一的零 (0): 0000 0000。解决了 ±0 的歧义和浪费。
    • 运算最简单: 加法器可以直接用于加法和减法! 不需要判断符号位,不需要循环进位。
      • 计算 5 + (-3)
        • 5 的补码: 0000 0101
        • -3 的补码: 1111 110130000 0011,取反1111 1100,加1 1111 1101)
        • 相加: 0000 0101 + 1111 1101 = 1 0000 0010 (产生进位)
        • 舍弃最高位进位,剩下 0000 0010 (即 2,正确!)
      • 计算 3 - 5 等价于 3 + (-5)
        • 3 的补码: 0000 0011
        • -5 的补码: 1111 1011
        • 相加: 0000 0011 + 1111 1011 = 1111 1110
        • 结果 1111 1110 是补码。最高位是 1,说明是负数。求其数值:
          • 方法1: 1111 1110 作为无符号数是 254254 - 256 = -2
          • 方法2: 对 1111 1110 取反(得 0000 0001)再加1(得 0000 0010,即 2),所以原值是 -2。正确!
    • 表示范围更合理 (不对称但连续): 对于8位,范围是 -128 (1000 0000)+127 (0111 1111)。比反码多表示了一个数 (-128)。

总结: 补码完美解决了 ±0 问题,并使得加法和减法运算可以用同一个加法器电路完成,极大地简化了CPU的设计,提高了效率。这就是为什么现代计算机全部使用补码来表示整数


总结对比表 (以8位为例)

特性 原码 (Sign-Magnitude) 反码 (Ones' Complement) 补码 (Two's Complement)
正数表示 符号位0 + 绝对值 同原码 同原码
负数表示 符号位1 + 绝对值 符号位不变,其他位取反 反码 + 1 (或 `2^k -
+0 0000 0000 0000 0000 0000 0000
-0 1000 0000 (存在问题) 1111 1111 (存在问题) 不存在! (0000 0000)
最小数 1111 1111 = -127 1000 0000 = -127¹ 1000 0000 = -128
最大数 0111 1111 = +127 0111 1111 = +127 0111 1111 = +127
零的个数 2 (+0, -0) 2 (+0, -0) 1 (0)
加减运算 复杂,需判断符号和绝对值 较复杂,需处理循环进位 简单!直接相加,舍弃进位
硬件实现 复杂,效率低 较复杂,效率较低 简单,效率高
现代应用 基本不用 基本不用 唯一标准

¹ 反码的 1000 0000 通常表示 -1271111 1111 表示 -0。严格来说最小数是 -127

一句话记住:

  • 原码: 直观但有 ±0,运算麻烦。
  • 反码: 改进运算但有 ±0,要循环进位。
  • 补码: 消灭 -0,统一加减法,硬件最爱!👍

理解补码是理解计算机如何做整数运算的基础。希望这个详细的解释能帮你理清思路!

相关文章:

溢出存储变量

这个 negative(i) 表示的就是 (-i) 这个数(其中 i>=0),在二进制下的编码。 这个编码满足 \(i+negative(i)=2^k\),可是由于我们二进制下只有 \(k\) 位,最高位是 \(2^{k-1}\),所以那个 \(1\) 会被丢掉,所以加起来结果为 \(0\)。 那如何确定一个数被存储为多少,因为前面…...

retrieving repo key for OS unencrypted from

在服务器上安装mkfontscale工具时,下载成功但是再安装过程中一直提示: retrieving repo key for OS unencrypted from http://repo.openeuler.org/openEuler-22.03-LTS-SP3/OS/x86_64/RPM-GPG-KEY-openEuler。 手动下载RPM-GPG-KEY-openEuler文件,将其上传到服务器/etc/yum.…...

3. Explain详解与索引最佳实践

3.1 Explain使用与详解id select_type table partitions type possible_keys key key_len ref rows filtered Extra1 SIMPLE user NULL ref idx_name_age_dpt idx_name_age_dpt 1023 const 1 100.0 NULL中 重要 中 低 重要 重要 重要 重要一般 一般 一般通过EXPLAIN或DESC命令获…...

软工个人项目作业

这个作业属于哪个课程 https://edu.cnblogs.com/campus/gdgy/Class34Grade23ComputerScience这个作业要求在哪里 https://edu.cnblogs.com/campus/gdgy/Class34Grade23ComputerScience/homework/13477这个作业的目标 制作论文查重工具论文查重工具项目文档 项目概述 本项目是一…...

异地办公文件同步,多台设备如何无缝同步最新教程

如何实现异地电脑文件同步?本文对比了坚果云与Syncthing等复杂技术方案。讲解如何使用坚果云,无需繁琐配置,即可在Windows/Mac等多设备间实现文件自动、实时同步。是解决远程办公和多设备管理难题的简单、高效选择。异地电脑文件同步?告别复杂技术,一招搞定! 身处不同城市…...

CSP-S模拟22

前言: 哈哈哈,又是一场爆零的模拟赛~~ \(T1:\) 木棍 思路: 机房出现了两种思路: 第一种:我们不难发现,一共就只有五种情况\({334}{2233}{2224}{244}{22222}\)...

详细介绍:【系统分析师】2025年上半年真题:论文及解题思路

详细介绍:【系统分析师】2025年上半年真题:论文及解题思路pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New",…...

实战有效的Web时序攻击技术剖析

本文深入探讨了Web时序攻击的实际应用,包括参数发现、服务器端注入和反向代理配置错误检测,通过真实案例展示了高精度时序分析技术在安全测试中的突破性进展。倾听低语:实际有效的Web时序攻击 | PortSwigger研究 James Kettle 研究总监 @albinowax 发布时间:2024年8月7日 1…...

22222222 - idle

//为什么要攀登?因为山就在那里。 #include<bits/stdc++.h> #define mrx 0x7f7f7f7f7f7f7f7f //#define int long long using namespace std; inline int read(){int num=0,flag=1;char ch=getchar();while(ch<0||ch>9){if(ch==-) flag=-1;ch=getchar();}while(ch…...

表格如何设置多人在线编辑?坚果云实时编辑,告别版本冲突!

还在为Excel表格多人协作的版本混乱、数据冲突而烦恼吗?本文深入对比坚果云、在线Office等三大解决方案,并提供坚果云实战教程。教你如何利用其强大的实时同步、版本管理和权限控制功能,彻底告别协作难题,实现高效、安全的团队文件管理。告别表格协作难题:三大高效解决方案…...

白嫖党狂喜!爆肝一下午搞定 URL 转 HTML 幻灯片神器,ISlide 9900 资源点从此是路人

原文:白嫖党狂喜!爆肝一下午搞定 URL 转 HTML 幻灯片神器,ISlide 9900 资源点从此是路人家人们谁懂啊!之前分享的 ISlide 插件做 PPT 一次要耗 9900 个资源点【从 url 到 PPT 一键生成:Coze 工作流,颠覆你的内容创作方式!】,作为资深白嫖党看着资源点的大量消耗实在心疼…...

继承

1.概述 子类和父类的区分需要根据实际情况,不能随便使用 2.子类只能继承一个父类,(单继承),但是可以多级继承 所有类都简介或直接继承Object类(java虚拟机自动生成) 3继承的内容 成员变量 继承的private内容可以被继承但是不能直接使用,需要用get()方法 继承中成员变量的访问特…...

我们究竟在用钱交换什么?

钱,藏着哪些我们没说透的用途?"穷人用健康换钱,富人用钱买健康",而最残忍的是,后者永远买不完 这个世界上,钱不是万能的,但有钱的确能解决99%的问题,包括给我们带来自尊和底气!中国有句老话:和气生财,我认为,和气不一定生财,但有钱确实能为家庭带来一…...

jupyterLab如何使用

好的,JupyterLab 是一个非常强大的交互式开发环境(IDE)。下面我将从安装、启动、核心功能到高级技巧,为你提供一个完整的入门指南。一、安装 JupyterLab 首先,你需要安装 JupyterLab。强烈建议在虚拟环境中安装,以避免包冲突。 1. 使用 pip 安装(最常用) # 1. 创建并激…...

HyperWorks许可监控

在当今竞争激烈的工程设计和仿真领域,资源的高效利用至关重要。HyperWorks作为一款业界领先的工程仿真软件,其许可监控功能为用户提供了强大的资源管理和优化工具。本文将向您介绍HyperWorks许可监控的重要性以及如何利用它确保您的资源得到充分利用。 什么是HyperWorks许可监…...

C++拷贝构造函数详解:从浅拷贝到深拷贝

什么是拷贝构造函数? 拷贝构造函数是C++中的一种特殊构造函数,用于创建一个新对象作为现有对象的副本。当我们使用一个对象来初始化同类型的另一个对象时,拷贝构造函数就会被调用。 基本语法 class MyClass { public:// 拷贝构造函数MyClass(const MyClass& other) {// …...

K8S探针

https://blog.csdn.net/weixin_28820113/article/details/148380309 HTTP探测实战(最常用) 向容器发送 HTTP 请求,若返回状态码为 200-399,则表示检查成功[root@master ~/probe]# cat readiness.yaml kind: Pod apiVersion: v1 metadata:name: nginxlabels:app: nginx spec…...

模拟赛

波波牛的惩罚 我们先处理出每个数可能影响的数,可以用链式前向星或 vector 我们维护一个队列,在最开始的时候放入最小值。 每次取出一个数,然后遍历所有可以影响的数,并把影响成功的数放进队列。 在最后判一下是否相同即可。 复杂度 \(O(n)\)。点击展开代码 #include<bi…...

bug1

9.16 修复报错字体大小bug 补充日志 TeXmacs/progs/debug/debug-widgets.scm 修改build-message 为以下 (define (build-message m)(let* ((k (tm->stree (tm-ref m 0)))(s (utf8->cork (tm->stree (tm-ref m 1))))(t (tm->stree (tm-ref m 2))))(cond ((string-e…...

C#第十二天 025

父类如果只有有参构造器,子类会默认去调用父类的无参构造器,如果子类要有无参构造器需要这样 子类构造器():base(参数)你的理解​​完全正确​​!当父类​​只有有参构造器​​时,子类必须​​显式调用父类的有参构造器​​,否则会编译错误。 类成员的访问级别不能超…...

选择语句的机器级表示

无条件转移指令--jmp 格式: jmp <地址> #pc无条件跳转到<地址> <地址>可以由常数直接给出:jmp 5 <地址>可以来自于寄存器:jmp eax <地址>可以来自于主存 :jmp [999] <地址>可以用“标号”锚定:jmp NEXT 100 mov eax,7 104 mov ebx,6 …...

pip常用命令

好的,这是 Python 包管理工具 pip 的常用命令大全,涵盖了从安装、升级、查询到问题排查的所有核心操作。一、核心命令:安装与卸载命令 描述 示例pip install <package_name> 安装最新版本的包 pip install requestspip install <package_name>==<version>…...

Nginx auth_request 模块使用

Nginx auth_request 模块使用笔记 📌 模块概述 nginx-auth-request-module(官方名:http_auth_request_module)用于在请求处理前向外部服务进行认证验证。 🔧 安装与启用 # 编译时添加模块 ./configure --add-module=/path/to/nginx-auth-request-module# 检查是否已安装…...

用nssm将minio和srs注册成服务

首先,要注意一个关键问题,不要在nssm中直接调用batNSSM 与 Bat 文件的问题:当NSSM启动一个批处理文件(.bat)时,它实际启动的是cmd.exe进程,而批处理中的命令(如minio.exe)则是其子进程。NSSM会监视cmd.exe的状态。一旦批处理中的命令执行完毕,cmd.exe进程就会退出,N…...

Mac上的Markdown学习

Markdown学习 标题 一个#+空格表示一级标题 两个#+空格表示二级标题 ……同理,几个#+空格表示几级标题 字体 粗体 Hello World 前后两个*表示粗体 斜体 Hello World 前后一个*表示斜体 斜体加粗 Hello World 前后三个*表示斜体加粗 删除线 Hello world 前后两个英文字符~表示删…...

ubuntu 18.04安装mysql8.4.5

环境Os:ubuntu 18.04 desktop桌面版mysql:8.4.5 glibc2.17 查看操作系统信息root@db:/# ldd --version ldd (Ubuntu GLIBC 2.27-3ubuntu1) 2.27 Copyright (C) 2018 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is…...

Radxa E20C 安装 OpenWrt

背景 今天浏览 Radxa E20C 官方文档中无意中发现设备可以安装 OpenWrt,如下图:Radxa E20C 官方文档安装 OpenWrt参考链接: E20C->上手指南->安装系统->安装系统到EMMC->Windows主机创建目录 01-DriverAssistant v5.0, 下载 DriverAssistant v5.0 ,并解压和安装…...

第三篇:配置浏览器

111111车到山前必有路,学到苦海甘甜来。只有知识和阅历对的起自己的年龄,美好的生活才不会欺骗自己!...

第二篇:playwright初步解析

以下是一个完整的测试用例,模拟用户登录功能: 脚本示例:from playwright.sync_api import sync_playwrightdef test_login(): with sync_playwright() as p: # 启动浏览器 browser = p.chromium.launch(headless=True) page = browser.new_page()# 打开…...

高性能计算-TensorCore-hgemm

1. TensorCore 简介:硬件层面支持半精度浮点矩阵乘法,与昇腾NPU的 cube 核类似,最小只能计算规定尺寸的矩阵乘法。 wmma API 封装在 nvcuda 命名空间2. naive :一个block 1 个warp,wmmaTile 16*16点击查看代码 //naive 一个block 一个warp,一个线程处理一个数据 template …...

《ESP32-S3使用指南—IDF版 V1.6》第三十八章 SPIFFS实验

第三十八章 SPIFFS实验 1)实验平台:正点原子DNESP32S3开发板 2)章节摘自【正点原子】ESP32-S3使用指南—IDF版 V1.6 3)购买链接:https://detail.tmall.com/item.htm?&id=768499342659 4)全套实验源码+手册+视频下载地址:http://www.openedv.com/docs/boards/esp32/…...

技术交流社区基础防诈指南

技术交流社区基础防诈指南技术交流社区基础防诈指南 若已确认被骗或发现违法内容,请立即通过以下渠道举报:公安部网络违法犯罪举报网站:12321.cn (网络不良信息) 国家反诈中心:拨打 110 或通过官方APP举报 (注意:报警时务必索要《受案回执》) 中央网信办违法和不良信息举报…...

神秘题

Trick排列置换题,考虑转化乘环上移动问题。题目 精灵之环 假设知道排列 \(p\)。 那么把这个排列 \(p\) 的环连出来,环上点的编号是排列的下标,点的值是编号对应的值。 就比如排列 4 1 2 3 的环为: val: 4 1 2 3 4 id : 1->2->3->4->1...可以发现把这些环上…...

技术群高级防骗指南

技术群高级防骗指南技术群高级防骗指南 怎么骗的 怎么防 被骗会怎么样 怎么骗的 1.资源储备与身份伪装: 1.盗盗取大量高等级账号并使用,给人友好可信的虚假印象2.养 ​ 骗子可能会花时间养这些盗来的号, 参与正常讨论,发一些专业的言论, 或者爆出自己是某某名牌大学来的 / 某…...

集训游记

前言 关于我 2025-9-16 开始写游击这件事情,其实已经考了 10 多次了,感觉前几次还好,后面被削弱了/kk,肯定是感冒debuff的问题,目前是能碾压ysh和lh的部分时候可以干掉xch,别的没咋关注.exe 2025-9-16 上午考试,比赛题目居然叫做 fish、oblivious、array、digit...

SQL Server 中的 STUFF 函数与FOR XML PATH详解 - 实践

SQL Server 中的 STUFF 函数与FOR XML PATH详解 - 实践pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", mono…...

2025/9/16 总结

A 用时:2h 预期:0pts 实际:0pts 考试是没有想到可以考虑 \(p_k\) 的置换环,思考许久没有思路。 然后打表找构造方法没有找出来心态就炸了,导致后面基本没有写暴力,直接垫底了。 总结:对于这种排列问题,可以考虑置换处理。考试心态不要炸,即使不会做也要打暴力。B 用时…...

Linux备份数据

linux备份常用技术一、备份数据库 1、准备一份备份命令sh文件,比如将其存放在/opt/db_bak中,命名为bak_mysql.sh#!/bin/bash # MySQL备份配置 MYSQL_USER="root" MYSQL_PASSWORD="root" MYSQL_HOST="10.10.10.10" MYSQL_PORT="3306"…...

np.argmax

argmax 是 NumPy 和许多其他科学计算库(如 PyTorch、TensorFlow)中的一个非常常用的函数,它的作用是返回数组中最大值的索引。 简单来说,argmax 告诉你最大值在哪里,而不是最大值是多少。 argmax 的基本用法 np.argmax(a, axis=None, out=None)a: 你要查找最大值索引的数组…...

TQ322数字PIR使用笔记

TQ322 数字PIR特性: 双元单通数字输出热释电红外传感器我使用中断读取的方式即时获取数字PIR传感器内最新的数据具体时序如下: 单片机IO 模拟时序程序如下: (代码中NOP数量根据单片机主频和型号自行调整)/*-------------------------------------------------* 函数名:D…...

使用Apache做web服务器时无法断点续传的怎么办?

Apache 作为 Web 服务器时,如果无法实现 断点续传 功能,通常是因为配置问题或文件系统的限制。断点续传是指用户在中断下载后,可以从上次中断的地方继续下载,而不是重新开始。以下是可能的原因分析和解决方法。1. 什么是断点续传?断点续传(HTTP Range 请求):由客户端发…...

Rust使用rbatis

toml rbs = { version = "4.6"} rbatis = { version = "4.6"} #drivers rbdc-mysql = { version = "4.6" } # 其他依赖 serde = { version = "1", features = ["derive"] } serde_json = "1.0" tokio = { version…...

2025ICPC网络赛第一场(A,B,C,D,G,I,M)

A. Who Can Win https://qoj.ac/contest/2513/problem/14301 思路 按题意模拟,统计第 \(239min\) 时成绩最好的队伍,记为冠军队伍,从 \(240min\) 开始到比赛结束的所有队伍都假设提交通过,实时计算成绩,一旦超过 \(239min\) 前的成绩最好队伍同样记作冠军。 细节: 1.输出…...

Google Maps

Google Maps...

【TES600G】基于JFM7K325T FPGA+FT-M6678 DSP的全国产化信号处理平台

​ 产品概述 TES600G是一款基于FPGA+DSP协同处理架构的通用高性能实时信号处理平台,该平台采用1片国防科大的银河飞腾多核浮点/定点DSP FT-M6678作为主处理单元,采用1片复旦微的Kintex-7系列FPGA JFM7K325T16作为协处理单元,具有1个FMC子卡接口,具有4路SFP+万兆光纤接口,…...

KMS激活Windows系统(win10)

在开始菜单上右键,选择 Windows PowerShell(管理员),依次输入以下命令即可激活成功 slmgr /ipk NPPR9-FWDCX-D2C8J-H872K-2YT43 slmgr /skms kms.03k.org slmgr /ato 1、安装产品密钥,不同的操作系统激活码不一样,网上搜索下有很多,这些激活码不能在线直接激活,但可以通过…...

基于python3的http文件服务器

前言跨环境或者跨跳板机传输文件很麻烦,比如从windows系统跨跳板机传输文件到linux系统,这时候scp就不适用了。 比较简单的方式是,从windows系统开一个http文件服务,然后从linux系统直接使用http链接下载。 如果是自己的环境,直接使用python3 -m http.server --bind 0.0.0…...

大阪府

大阪府名称大阪城 心斋桥 道顿崛 海游馆 通天阁 四天王寺 环球影城 万博纪念公园 中之岛公园 天保山摩天轮...

sql server2008大批量插入数据

谨慎使用update 最好对应字段 直接使用insertDECLARE @pageIndex INTDECLARE @pageSize INTDECLARE @TotalpageIndex INTdeclare @rows as int SET @pageIndex = 1SET @pageSize = 10000set @TotalpageIndex=((select top 1 ID from [NewWeBusiness_PJM].[dbo].[Scale] order …...

【Office 2010】经典办公套件Office 2010——保姆级详细图文下载安装教程 - 详解

【Office 2010】经典办公套件Office 2010——保姆级详细图文下载安装教程 - 详解pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "…...