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

mysql 与 sqlite 数学运算 精度 问题

mysql 与 sqlite 数学运算 精度 问题

在 Excel 中,浮点运算得到的结果可能不准确

https://learn.microsoft.com/zh-cn/office/troubleshoot/excel/floating-point-arithmetic-inaccurate-result

本文讨论 Microsoft Excel 如何存储和计算浮点数。 由于存在舍入或数据截断,这可能会影响某些数字或公式的结果。

Microsoft Excel 围绕 IEEE 754 规范进行设计,以确定它如何存储和计算浮点数。 IEEE 是电气与电子工程师协会,一个确定计算机软件和硬件标准的国际机构。 754 规范是一种广为采用的规范,用于描述如何在二进制计算机中存储浮点数。 它很受欢迎,因为它允许浮点数存储在合理的空间和计算速度相对较快。 754 标准用于当今几乎所有实现浮点数学的基于 PC 的微处理器的浮点运算单元和数字数据处理器,包括 Intel、Motorola、Sun 和 MIPS 处理器。

存储数字时,对应的二进制数可以表示每个数字或小数。 例如,分数 1/10 在十进制记数制中可以表示为 0.1。 但是,以二进制格式的相同数字将成为以下重复的二进制小数:

0001100110011100110011(等)

此操作可以无限重复。 此数字不能以有限的(有限)空间量表示。 因此,存储此数字时,此数字按大约 -2.8E-17 舍入。

但是,IEEE 754 规范有一些限制,可分为三大类:

最大/最小限制
Precision
重复二进制数
更多信息
最大/最小限制
所有计算机都有可处理的最大值和最小数。 由于存储该数字的内存位数是有限的,因此可以存储的最大或最小数也是有限的。 对于 Excel,可以存储的最大数为 1.79769313486232E+308,可以存储的最小正数为 2.2250738585072E-308。

我们遵循 IEEE 754 的案例
下溢:当生成的数字太小,无法表示时会发生下溢。 在 IEEE 和 Excel 中,结果为 0(除了 IEEE 的概念为 -0,Excel 没有)。
溢出:当数字太大无法表示时会发生溢出。 Excel 针对这种情况使用自己的特殊表示形式 (#NUM!)。
我们不符合 IEEE 754 的情况
非规范化数字:非规范化数字由指数 0 表示。 在这种情况下,整个数字存储在尾数中,而尾数没有隐式前导 1。 如此一来,你损失了精度,而数字越小,损失的精度就越多。 此范围小端的数字精度只有一位数。

示例:规范化数字具有隐式前导 1。 例如,如果尾数表示 0011001,则由于隐式前导 1,规范化数字将变为 10011001。 非规范化数字没有隐式前导数字,因此在我们的0011001示例中,非规范化数字保持不变。 在这种情况下,规范化数有八个有效数字 (10011001),而非规范化数有五个有效数字 (11001),前导 0 无效。

非规范化数基本上是一种允许存储小于正常下限的数字的解决方法。 Microsoft不实现此规范的可选部分,因为非规范化数字具有可变数量的有效数字。 这可能导致计算中出现重大错误。

正/负无穷大:除以 0 时出现无穷大。 Excel 不支持无限,而是提供 #DIV/0! 这些案例中的错误。

非数字 (NaN) :NaN 用于表示无效运算(如无穷大/无穷大、无穷大-无穷大或 -1 的平方根)。 NaN 允许程序跳过无效运算继续运行。 Excel 会立即生成错误,例如 #NUM! 或 #DIV/0!。

Precision
浮点数以二进制形式存储在 65 位范围内的三个部分:符号、指数和尾数。

符号 指数 尾数
1 个符号位 11 位指数 1 个隐式位 + 52 位小数
符号存储数字(正或负)的符号,指数存储数字的 2 次升幂或降幂(2 的最大/最小幂分别为 +1,023 和 -1,022) ,而尾数存储实际数字。 尾数的有限存储区域限制两个相邻浮点数的接近程度(即精度)。

尾数和指数都存储为单独的组件。 因此,精度可能会有所不同,具体取决于所操作的数字(尾数)的大小。 就 Excel 而言,尽管它可以存储从 1.79769313486232E308 到 2.2250738585072E-308 之间的数字,但存储精度只能达到 15 位数。 此限制是严格遵循 IEEE 754 规范的直接结果,不是 Excel 的限制。 在其他电子表格程序中也可以找到此精度级别。

浮点数以以下形式表示,其中指数是二进制指数:

X = 小数 * 2^(指数 - 偏量)

小数是数字的规范化小数部分,由于对指数进行调整以便前导位始终为 1,因此进行了规范化。 这样一来,它就不必存储了,你又得到一位精度。 这就是为什么存在隐含位的原因。 这类似于科学记数法,其中操作指数使小数点左侧有一位数;除二进制外,始终可以操作指数,使第一位为 1,因为只有 1 和 0。

偏量是用于避免必须存储负指数的偏量值。 单精度数字的偏量为 127,双精度数字的偏量为 1,023(十进制)。 Excel 采用双精度存储数字。

使用非常大数的示例
将以下内容输入到新工作簿中:

adoc

复制
A1: 1.2E+200
B1: 1E+100
C1: =A1+B1
单元格 C1 的结果值为 1.2E+200,与单元格 A1 的值相同。 事实上,如果使用 IF 函数比较单元格 A1 和 C1,例如 IF(A1=C1),则结果将为 TRUE。 这是由 IEEE 规范仅存储 15 个有效精度数字导致的。 为了能够存储上述计算,Excel 的精度至少需要达到 100 位数。

使用非常小数的示例
将以下内容输入到新工作簿中:

adoc

复制
A1: 0.000123456789012345
B1: 1
C1: =A1+B1
单元格 C1 的结果值为 1.00012345678901,而不是 1.000123456789012345。 这是由 IEEE 规范仅存储 15 个有效精度数字导致的。 为了能够存储上述计算,Excel 至少需要 19 位数的精度。

更正精度错误
Excel 提供两种补偿舍入误差的基本方法:ROUND 函数和以显示精度为准或将精度设为所显示的精度工作簿选项。

方法 1:ROUND 函数
以下示例使用上一数据,使用 ROUND 函数强制将数字分为五位数。 这样,就能够成功将结果与另一个值进行比较。

adoc

复制
A1: 1.2E+200
B1: 1E+100
C1: =ROUND(A1+B1,5)
结果是 1.2E+200。

D1: =IF(C1=1.2E+200, TRUE, FALSE)

其结果值为 TRUE。

方法 2:以显示精度为准
在某些情况下,可以使用“以显示精度为准”选项防止舍入误差影响你的工作。 此选项强制工作表中每个数字的值为显示值。 要打开此选项,请按照下列步骤操作:

在“文件”菜单上,单击“选项”,然后单击“高级”类别。
在“计算此工作簿时”部分,选择需要的工作簿,然后选中“将精度设为所显示的精度”复选框。
例如,如果选择显示两位小数位的数字格式,然后打开“以显示精度为准”选项,则保存工作簿时,所有超出两位小数位的精度将丢失。 此选项会影响活动工作簿,包括所有工作表。 无法撤消此选项并恢复丢失的数据。 建议在启用此选项之前保存工作簿。

重复结果接近于零的二进制数和计算
影响以二进制格式存储浮点数的另一个令人困惑的问题是,某些数字在十进制基 10 中是无限的、重复的二进制数字。 最常见的示例是值 0.1 及其变体。 尽管这些数字可以完全以 10 为底表示,但二进制格式的相同数字在存储在 mantissa 中时会变为以下重复二进制数:

000110011001100110011(等等)

IEEE 754 规范对任意数字都没有任何特殊限制。 它将可存储的内容存储在尾数中,并截断其余部分。 这会导致存储时出现大约 -2.8E-17 或 0.0000000000000028 的错误。

即使是常见的十进制分数(如十进制 0.0001)也不能完全以二进制形式表示。 (0.0001 是重复的二进制小数,周期为 104 位)。 这类似于为什么分数 1/3 不能完全用小数表示(重复 0.33333333333333333333333333333333) 的原因。

例如,请考虑Microsoft Visual Basic for Applications 中的以下示例:

VB

复制
Sub Main()
MySum = 0
For I% = 1 To 10000
MySum = MySum + 0.0001
Next I%
Debug.Print MySum
End Sub
这将打印 0.999999999999996 作为输出。 以二进制表示 0.0001 的小误差将传播到总和。

示例:添加负数
将以下内容输入到新工作簿中:

A1: =(43.1-43.2)+1

右键单击“单元格 A1”,然后单击“设置单元格格式”。 在“数字”选项卡上,单击“类别”下的“科学记数”。 将“小数位数”设置为 15。

Excel 不显示 0.9,而是显示 0.899999999999999。 由于先计算 (43.1-43.2),因此将临时存储 -0.1,并且存储 -0.1 带来的误差将引入计算。

值达到零时的示例
在 Excel 95 或更早版本中,将以下内容输入到新建工作簿中:

A1: =1.333+1.225-1.333-1.225

右键单击“单元格 A1”,然后单击“设置单元格格式”。 在“数字”选项卡上,单击“类别”下的“科学记数”。 将“小数位数”设置为 15。

Excel 95 不显示 0,而是显示 -2.22044604925031E-16。

然而,Excel 97 推出了一种尝试更正此问题的优化措施。 如果加减运算的结果等于或非常接近零,Excel 97 及更高版本将补偿因操作数与二进制相互转换而带来的任何误差。 以上在 Excel 97 及更高版本中执行的示例以科学记数法正确显示 0 或 0.000000000000000E+00。

有关浮点数和 IEEE 754 规范的详细信息,请参阅以下万维网网站:

https://www.ieee.org
https://steve.hollasch.net/cgindex/coding/ieeefloat.htmlb

相关文章:

mysql 与 sqlite 数学运算 精度 问题

mysql 与 sqlite 数学运算 精度 问题 在 Excel 中,浮点运算得到的结果可能不准确 https://learn.microsoft.com/zh-cn/office/troubleshoot/excel/floating-point-arithmetic-inaccurate-result 本文讨论 Microsoft Excel 如何存储和计算浮点数。 由于存在舍入或…...

MySQL的数据库性能分析利器Percona toolkit

目录 简介使用场景 使用示例Mysql 慢查询分析诊断临时开启慢SQL持久化开启慢SQL日志 使用包管理器安装包管理器安装 percona-release使用相应的包管理器安装 Percona Toolkit pt-query-digest 安装安装 pt-query-digest案例实战之慢查询分析诊断查看慢SQL日志使用pt-query-dige…...

力扣HOT100之链表: 148. 排序链表

这道题直接用蠢办法来做的&#xff0c;直接先遍历一遍链表&#xff0c;用一个哈希表统计每个值出现的次数&#xff0c;由于std::map<int, int>会根据键进行升序排序&#xff0c;因此我们将节点的值作为键&#xff0c;其在整个链表中的出现次数作为值&#xff0c;当所有元…...

Azure AI Foundry 正在构建一个技术无障碍的未来世界

我们习以为常的街道和数字世界&#xff0c;往往隐藏着被忽视的障碍——凹凸不平的路面、不兼容的网站、延迟的字幕或无法识别多样化声音的AI模型。这些细节对某些群体而言&#xff0c;却是日常的挑战。正如盲道不仅帮助视障者&#xff0c;也优化了整体城市体验&#xff0c;信息…...

AlmaLinux9.5 修改为静态IP地址

查看当前需要修改的网卡名称 ip a进入网卡目录 cd /etc/NetworkManager/system-connections找到对应网卡配置文件进行修改 修改配置 主要修改ipv4部分&#xff0c;改成自己的IP配置 [ipv4] methodmanual address1192.168.252.129/24,192.168.252.254 dns8.8.8.8重启网卡 …...

P8754 [蓝桥杯 2021 省 AB2] 完全平方数

题目描述 思路 一看就知道考数学&#xff0c;直接看题解试图理解(bushi) 完全平方数的质因子的指数一定为偶数。 所以 对 n 进行质因数分解&#xff0c;若质因子指数为偶数&#xff0c;对结果无影响。若质因子指数为奇数&#xff0c;则在 x 中乘以这个质因子&#xff0c;保证指…...

QT Sqlite数据库-教程001 创建数据库和表-上

【1】创建数据库 #include <QtSql/QSqlDatabase> #include <QtSql/QSqlQuery> #include <QtSql/QSqlRecord> QString path QDir::currentPath(); QApplication::addLibraryPath(pathQString("/release/plugins")); QPluginLoader loader(pathQSt…...

安卓手机怎样开启双WiFi加速

1. 小米/Redmi手机 路径&#xff1a; 设置 → WLAN → 高级设置 → 双WLAN加速 操作&#xff1a; 开启功能后&#xff0c;可同时连接一个2.4GHz WiFi和一个5GHz WiFi&#xff08;或两个不同路由器&#xff09;。 可选择“智能选择”或手动指定辅助网络。 2. 华为/荣耀手机…...

基于角色个人的数据权限控制

一、适用场景 如何有效控制用户对特定数据的访问和操作权限&#xff0c;以确保系统的安全性和数据的隐私性。 二、市场现状 权限管理是现代系统中非常重要的功能&#xff0c;尤其是对于复杂的B端系统或需要灵活权限控制的场景&#xff0c;可以运用一些成熟的工具和框架&…...

JAVA虚拟机(JVM)学习

入门 什么是JVM JVM&#xff1a;Java Virtual Machine&#xff0c;Java虚拟机。 JVM是JRE(Java Runtime Environment)的一部分&#xff0c;安装了JRE就相当于安装了JVM&#xff0c;就可以运行Java程序了。JVM的作用&#xff1a;加载并执行Java字节码&#xff08;.class&#…...

【VSCode配置】运行springboot项目和vue项目

目录 安装VSCode安装软件安装插件VSCode配置user的全局设置setting.jsonworkshop的项目自定义设置setting.jsonworkshop的项目启动配置launch.json 安装VSCode 官网下载 安装软件 git安装1.1.12版本&#xff0c;1.2.X高版本无法安装node14以下版本 nvm安装&#xff08;github…...

UE5,LogPackageName黄字警报处理方法

比如这个场景&#xff0c;淘宝搜索&#xff0c;ue5 T台&#xff0c;转为ue5.2后&#xff0c;选择物体&#xff0c;使劲冒错。 LogPackageName: Warning: DoesPackageExist called on PackageName that will always return false. Reason: 输入“”为空。 2. 风险很大的删除法&…...

ONVIF/RTSP/RTMP协议EasyCVR视频汇聚平台RTMP协议配置全攻略 | 直播推流实战教程

在现代化的视频管理和应急指挥系统中&#xff0c;RTMP协议作为一种高效的视频流传输方式&#xff0c;正变得越来越重要。无论是安防监控、应急指挥&#xff0c;还是物联网视频融合&#xff0c;掌握RTMP协议的接入和配置方法&#xff0c;都是提升系统性能和效率的关键一步。 今天…...

AI 驱动的全链路监控,从资源管理到故障自愈的实战指南--云监控篇

一、3 步完成多云接入&#xff0c;告别繁琐配置 1. 账号绑定 AWS&#xff1a;输入访问密钥&#xff0c;自动拉取 EC2、RDS、S3 等资源清单。 Azure&#xff1a;通过服务主体认证&#xff0c;一键发现 VM、SQL 数据库、存储账户。 GCP&#xff1a;上传服务账号密钥&#xff0…...

大模型在初治CLL成人患者诊疗全流程风险预测与方案制定中的应用研究

目录 一、绪论 1.1 研究背景与意义 1.2 国内外研究现状 1.3 研究目的与内容 二、大模型技术与慢性淋巴细胞白血病相关知识 2.1 大模型技术原理与特点 2.2 慢性淋巴细胞白血病的病理生理与诊疗现状 三、术前风险预测与手术方案制定 3.1 术前数据收集与预处理 3.2 大模…...

Express中间件(Middleware)详解:从零开始掌握(2)

1. 请求耗时中间件的增强版 问题&#xff1a;原版只能记录到控制台&#xff0c;如何记录到文件&#xff1f; 改进点&#xff1a; 使用process.hrtime()是什么&#xff1f;获取更高精度的时间支持将日志写入文件记录更多信息(IP地址、状态码)工厂函数模式使中间件可配置 con…...

Crossmint 与 Walrus 合作,将协议集成至其跨链铸造 API 中

Crossmint 是一个一站式平台&#xff0c;可为 app、AI Agent 或企业集成区块链。如今&#xff0c;Crossmint 已集成 Walrus 协议&#xff0c;以实现更具可扩展性的通证化场景&#xff0c;特别面向 AI Agent 和企业级用户。这项合作为开发者和企业提供了一种全新的方式&#xff…...

24.OpenCV中的霍夫直线检测

OpenCV中的霍夫直线检测 霍夫直线检测是一种基于参数变换的全局特征提取方法&#xff0c;它能在边缘图像中有效检测出直线&#xff0c;具有鲁棒性强和对噪声干扰容忍度高的特点。本文将从原理、算法实现和 OpenCV 应用三个角度对霍夫直线检测进行详细的阐述&#xff0c;并给出…...

springboot 处理编码的格式为opus的音频数据解决方案【java8】

opus编码的格式概念&#xff1a; Opus是一个有损声音编码的格式&#xff0c;由Xiph.Org基金会开发&#xff0c;之后由IETF&#xff08;互联网工程任务组&#xff09;进行标准化&#xff0c;目标是希望用单一格式包含声音和语音&#xff0c;取代Speex和Vorbis&#xff0c;且适用…...

【AI提示词】创业导师提供个性化创业指导

提示说明 以丰富的行业经验和专业的知识为学员提供创业指导&#xff0c;帮助其解决实际问题并实现商业成功 提示词 # Role: 创业导师## Profile - language: 中英文 - description: 以丰富的行业经验和专业的知识为学员提供创业指导&#xff0c;帮助其解决实际问题并实现商业…...

STM32 模块化开发实战指南:系列介绍

本文是《STM32 模块化开发实战指南》系列的导读篇,旨在介绍整个系列的写作目的、适用读者、技术路径和每一篇的主题规划。适合从事 STM32、裸机或 RTOS 嵌入式开发的个人开发者、初创工程师或企业项目团队。 为什么要写这个系列? 在嵌入式开发中,很多人刚开始都是从点亮一个…...

在 Dev-C++中编译运行GUI 程序介绍(三)有趣示例一组

在 Dev-C中编译运行GUI程序介绍&#xff08;三&#xff09;有趣示例一组 前期见 在 Dev-C中编译运行GUI 程序介绍&#xff08;一&#xff09;基础 https://blog.csdn.net/cnds123/article/details/147019078 在 Dev-C中编译运行GUI 程序介绍&#xff08;二&#xff09;示例&a…...

功能安全时间参数FTTI

FTTI&#xff1a;fault tolerant time interval故障容错时间间隔&#xff1b; FHTI&#xff1a;Fault Handling Time Interval故障处理时间间隔&#xff1b; FRTI&#xff1a;Fault Reaction Time Interval故障反应时间间隔&#xff1b; FDTI&#xff1a;Fault Detectlon Ti…...

docker镜像制作

🧱 如何将任意 Linux 系统打包为 Docker 镜像 适用场景: 本地物理机 / 虚拟机上的 Linux(如 Ubuntu、Debian、CentOS、openEuler 等);想将当前系统环境完整打包成 Docker 镜像;系统内已安装了运行环境,如 Java、Python、Nginx 等,想保留它们。✅ 步骤概览: 准备文件…...

【Pandas】pandas DataFrame iat

Pandas2.2 DataFrame Indexing, iteration 方法描述DataFrame.head([n])用于返回 DataFrame 的前几行DataFrame.at快速访问和修改 DataFrame 中单个值的方法DataFrame.iat快速访问和修改 DataFrame 中单个值的方法 pandas.DataFrame.iat pandas.DataFrame.iat 是一个快速访…...

【图像分类】【深度学习】系列学习文章目录

图像分类简介 图像分类是计算机视觉领域中的一个核心问题&#xff0c;它涉及到将图像数据分配到一个或多个预定义类别中的过程。这项技术的目标是让机器模拟人类能够自动识别并分类图像内容。近年来&#xff0c;随着深度学习的发展&#xff0c;尤其是卷积神经网络(CNNs)的应用…...

MyBatisPlus 学习笔记

文章目录 MyBatisPlus 快速入门第一步&#xff1a;引入 MyBaitsPlus 起步依赖第二步&#xff1a;自定义的 Mapper 继承 BaseMapper 接口新增相关修改相关删除相关查询相关 Mp 使用示例 MyBaitsPlus 常见注解MP 实体类与数据库信息约定Mp 实体类与数据库信息约定不符合解决方法…...

Profibus DP主站如何转Modbus TCP?

Profibus DP主站如何转Modbus TCP&#xff1f; 在现代工业自动化系统中&#xff0c;设备之间的互联互通至关重要。Profibus DP 和 Modbus TCP 是两种常见的通信协议&#xff0c;分别应用于不同的场景。为了实现这两种协议的相互转换&#xff0c;Profibus DP主站转Modbus TCP网…...

尚硅谷Java第 4、5 章IDEA,数组

第 4 章&#xff1a;IDEA的使用 第 5 章&#xff1a;数组 5.1 数组的概述 数组(Array)&#xff1a;就可以理解为多个数据的组合。 程序中的容器&#xff1a;数组、集合框架&#xff08;List、Set、Map&#xff09;。 数组中的概念&#xff1a; 数组名 下标&#xff08;或索…...

一些简单但常用的算法记录(python)

1、计算1-2020间的素数个数 def is_composite(num):if num < 1:return False# 从 2 开始到 num 的平方根进行遍历for i in range(2, int(num**0.5) 1):if num % i 0:return Truereturn Falsecnt 0 for num in range(1, 2021):if is_composite(num):cnt 1print(cnt)2、 …...

基于Docker容器的CICD项目Jenkins/gitlab/harbor/Maven实战

一、企业业务代码发布方式 1.1 传统方式 以物理机或虚拟机为颗粒度部署部署环境比较复杂&#xff0c;需要有先进的自动化运维手段出现问题后重新部署成本大&#xff0c;一般采用集群方式部署部署后以静态方式展现 1.2 容器化方式 以容器为颗粒度部署部署方式简单&#xff0…...

高并发秒杀系统设计:关键技术解析与典型陷阱规避

电商、在线票务等众多互联网业务场景中&#xff0c;高并发秒杀活动屡见不鲜。这类活动往往在短时间内会涌入海量的用户请求&#xff0c;对系统架构的性能、稳定性和可用性提出了极高的挑战。曾经&#xff0c;高并发秒杀架构设计让许多开发者望而生畏&#xff0c;然而&#xff0…...

(十四)安卓开发中的RecyclerView详解

在安卓开发中&#xff0c;RecyclerView 是一个功能强大且灵活的 UI 组件&#xff0c;用于高效地显示大量数据集合&#xff0c;如列表、网格或瀑布流。它是传统 ListView 和 GridView 的现代替代品&#xff0c;提供了更高的性能优化和自定义能力。RecyclerView 的核心优势在于其…...

如何设置Ubuntu服务器版防火墙

在Ubuntu服务器中&#xff0c;默认使用 ufw&#xff08;Uncomplicated Firewall&#xff09;作为防火墙管理工具。它是对iptables的简化封装&#xff0c;适合快速配置防火墙规则。以下是设置防火墙的详细步骤&#xff1a; 1. 安装与启用 ufw 安装&#xff08;通常已预装&…...

根文件系统(rootfs) 制作方法(BusyBox、Buildroot、Yocto、Ubuntu Base)

以下是关于 根文件系统&#xff08;rootfs&#xff09; 制作的四种主流方法&#xff08;BusyBox、Buildroot、Yocto、Ubuntu Base&#xff09;的详细教程与对比分析&#xff0c;结合不同场景的需求提供具体实现步骤和关键要点。 1. BusyBox 制作 rootfs 核心特点 轻量级&…...

SAP软件FICO各种财务账期的功能用途介绍

FI会计账期 一般财务账期总账期间的控制是仅开启当前一个期间&#xff0c;如果月结期间应同时开启结账期间和下一期间两个期间&#xff0c;结账完成需立即关闭已完成结账的期间&#xff0c;避免凭证过账日期误记账。 设置事务码&#xff1a;OB52或 S_ALR_87003642 备注&#…...

蓝桥杯C++组部分填空题

P1508 - [蓝桥杯2020初赛] 门牌制作 - New Online Judge #include<bits/stdc.h> using namespace std;int main() {int res 0;for(int i 1; i < 2020; i){int num i;while(num){if(num % 10 2) res;num/10;}}cout<<res;return 0; } 624 P1509 - [蓝桥杯20…...

内联inline

一、什么是 inline&#xff1f; inline 的本意是&#xff1a; 建议编译器将函数调用处展开成函数体代码&#xff0c;省去函数调用的开销。 inline int square(int x) { return x * x; } 当你调用 square(5) 时&#xff0c;编译器可能会将其替换成 5 * 5&#xff0c;从而避免…...

【models】Transformer 之 各种 Attention 原理和实现

Transformer 之 各种 Attention 原理和实现 本文将介绍Transformer 中常见的Attention的原理和实现&#xff0c;其中包括&#xff1a; Self Attention、Spatial Attention、Temporal Attention、Cross Attention、Grouped Attention、Tensor Product Attention、FlashAttentio…...

基于JavaAPIforKml实现Kml 2.2版本的全量解析实践-以两步路网站为例

目录 前言 一、关于两步路网站 1、相关功能 2、数据结构介绍 二、JAK的集成与实现 1、JAK类图简介 2、解析最外层数据 3、解析扩展元数据和样式 4、递归循环解析Feature 5、解析具体的数据 三、结论 前言 随着地理信息技术的快速发展&#xff0c;地理空间数据的共享…...

Ubuntu搭建Pytorch环境

Ubuntu搭建Pytorch环境 例如&#xff1a;第一章 Python 机器学习入门之pandas的使用 提示&#xff1a;写完文章后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 Ubuntu搭建Pytorch环境前言一、Anaconda二、Cuda1.安装流程2、环境变量&#…...

Kingbase逻辑备份与恢复标准化实施文档

背景 文章背景 本文结合实际运维经验&#xff0c;围绕 Kingbase 数据库在逻辑层面的备份与恢复方法进行系统性梳理&#xff0c;旨在为运维人员和数据库管理员提供一套清晰、高效、可落地的操作指引&#xff0c;提升数据库系统的可靠性与容灾能力。 第一部分 逻辑部分 1.1 全…...

二分查找5:852. 山脉数组的峰顶索引

链接&#xff1a;852. 山脉数组的峰顶索引 - 力扣&#xff08;LeetCode&#xff09; 题解&#xff1a; 事实证明&#xff0c;二分查找不局限于有序数组&#xff0c;非有序的数组也同样适用 二分查找主要思想在于二段性&#xff0c;即将数组分为两段。本体就可以将数组分为ar…...

解决opencv中文路径问题

见cv_imread函数和cv_imwrite函数 import cv2 import os import matplotlib.pyplot as plt from paddleocr import PaddleOCR, draw_ocr import numpy as np import urllib.parse # Add this import statementfrom txt_get import ImageTextExtractor# 初始化OCR&#xff0c;…...

Redis简介及其在Unity中的应用

一、什么是Redis? Redis(Remote Dictionary Server) 是一个开源的高性能 内存数据结构存储系统,常被用于 缓存、消息队列、排行榜、会话管理、实时分析 等。 ✅ Redis特点 基于内存,读写速度极快支持多种数据结构:String、List、Hash、Set、Sorted Set支持持久化,可将…...

Python实现批量插入PostgreSQL数据库的脚本分享

背景 上个月排查一个 Bug &#xff0c;需要采集一张 PostgreSQL 的大表&#xff0c;测试时需要造数据。Python 比 Java 方便多了&#xff0c;所以用 Python写了一个批量插入 PostgreSQL 表的简单脚本。本文分享这个脚本&#xff0c;很简单的&#xff0c;就是利用 psycopg2 的 …...

一键精准采集单网页,告别手动复制粘贴

浏览某个网页时&#xff0c;想抓取其内容&#xff0c;有没有工具能避免自己手动逐个复制粘贴&#xff1f; 推荐使用单网页一键采集功能&#xff0c;可自动提取网页内容并整理成结构化数据&#xff08;包括标题、正文、作者、日期、分类、标签、描述和原文网址链接等关键信息&am…...

vue入门:单文件组件数据双向绑定

文章目录 单文件组件介绍安装创建项目构建单文件组件 数据双向绑定Vue虚拟DOM的作用Vue中key属性的作用 单文件组件 介绍 单文件组件API使用文件扩展名为 .vue 的来构建组件ECMAScript 6 API 安装 Vue CLI 构建Vue -- 安装vue/cli npm install -g vue/cli-- 升级Vue CLI 包…...

接听电话,手机靠近耳朵后拿开,挂断电话,设备自动锁屏

目录 一、问题分析/需求分析 二、解决方案 一、问题分析/需求分析 先说一下大致流程: 首先是打电话过程会启动PROXIMITY(接近光传感器)用于监听手机是否到耳边,当手机到耳边时进行灭屏处理,灭屏过程中会调用到锁屏,所以最终会导致锁屏 详细流程分析: 首先根据日志看…...

代码随想录第15天:(二叉树)

一、二叉搜索树的最小绝对差&#xff08;Leetcode 530&#xff09; 思路1 &#xff1a;中序遍历将二叉树转化为有序数组&#xff0c;然后暴力求解。 class Solution:def __init__(self):# 初始化一个空的列表&#xff0c;用于保存树的节点值self.vec []def traversal(self, r…...