计算机精度导致各种误差,大数吃小数

如果 p ∗ p^* p是p的近似, ∣ p ∗ − p ∣ |p^*-p| pp是绝对误差, ∣ p ∗ − p ∣ / ∣ p ∣ |p^*-p|/|p| pp∣/∣p是相对误差

舍入误差,就是数据表示精度不足带来的误差

a=0.1234564≈0.123456=fl(a)
b=0.1234546≈0.123455=fl(b)

在上面发生了舍入误差
fl(a)-fl(b)=0.000001
a-b=0.0000018

所以在计算a-b时绝对误差是0.0000008
但是想对误差是0.44
从绝对误差的角度看,差异很小,但是从相对误差的角度来看误差就非常大了

大数吃小数:
如果精度有限可能会发生下面的情况
100000000 + 0.5 = 100000000 100000000+0.5=100000000 100000000+0.5=100000000
100000000 + 0.5 − 100000000 = 0 100000000+0.5-100000000=0 100000000+0.5100000000=0
( 100000000 + 0.5 − 100000000 ) ∗ 100000000 = 0 (100000000+0.5-100000000)*100000000=0 (100000000+0.5100000000)100000000=0
这和真实结果差了很多,因为精度不够,大数加小数的时候把小数吃掉了,导致后续结果都出现问题,一个办法是交换顺序
100000000 − 100000000 = 0 100000000-100000000=0 100000000100000000=0
100000000 − 100000000 + 0.5 = 0.5 100000000-100000000+0.5=0.5 100000000100000000+0.5=0.5
( 100000000 − 100000000 + 0.5 ) − 100000000 = 50000000 (100000000-100000000+0.5)-100000000=50000000 (100000000100000000+0.5)100000000=50000000

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/164306.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

力扣labuladong一刷day15天K个一组翻转链表与回文链表

力扣labuladong一刷day15天K个一组翻转链表与回文链表 一、25. K 个一组翻转链表 题目链接:https://leetcode.cn/problems/reverse-nodes-in-k-group/ 思路:k个一组翻转链表,每k个翻转抽取出一个单独的方法reverse,翻转a到b&…

力扣刷题第二十九天--二叉树

前言 问问自己,刷题的效果真的达到了吗? 内容 一、翻转二叉树 226.翻转二叉树 给你一棵二叉树的根节点 root ,翻转这棵二叉树,并返回其根节点。 递归 func invertTree(root *TreeNode) *TreeNode {if rootnil{return root}…

Vue中的$nextTick的作用

在 Vue 中,当某些数据发生变化时,DOM 并不会立即更新。相反,Vue 会在下一个事件循环周期(microtask)中异步执行更新,这样可以避免频繁的 DOM 操作。然而,有时候我们需要在 DOM 更新后执行一些操…

2024-NeuDS-数据库题目集

一.判断题 1.在数据库中产生数据不一致的根本原因是冗余。T 解析:数据冗余是数据库中产生数据不一致的根本原因,因为当同一数据存储在多个位置时,如果其中一个位置的数据被修改,其他位置的数据就不一致了。因此,在数据…

11.docker的网络-docker0的理解及bridge网桥模式的介绍与实例

1.docker0的基本理解 安装完docker服务后,我们首先查看一下宿主机的网络配置 ifconfig我们可以看到,docker服务会默认在宿主机上创建一个虚拟网桥docker0,该网桥网络的名字称为docker0。它在内核层连通了其他物理或者虚拟网卡,这…

ubuntu22.04系统下载程序和依赖,并拷贝到指定路径下

脚本1 apt install aptitude apt-get -d install xxx #xxx是待下载的安装包 mv /var/cache/apt/archives/* /home/tuners/1apt install aptitude apt-get -d install xxx mv /var/cache/apt/archives/*.deb /home/tuners/1 xxx 为程序包名称 /home/tuners/1为保存程序包的…

从零开始的搭建指南:开发高效的抖音预约服务小程序

预约服务小程序提高了效率,节省了用户时间。下文,小编将与大家一同探讨如何从零开始打造预约服务小程序。 第一步:明确需求和目标 确定你的小程序主要服务领域是什么?是医疗预约、美容美发、餐厅预订还是其他行业?明…

Python 如何开发出RESTful Web接口,DRF框架助力灵活实现!

Django Rest Framework(DRF)是构建强大且灵活的Web API的优秀工具。它基于Django,提供了一套用于构建Web API的组件和工具,简化了API开发过程,同时保留了Django的优雅和强大。 一、Web应用模式 在开发Web应用时&…

Android组件化搭建学习

什么是组件化? 为什么要用组件化?在项目的开发过程中,随着开发人员的增多及功能的增加,如果提前没有使用合理的开发架构,那么代码会越来臃肿,功能间代码耦合也会越来越严重,这时候为了保证项目…

C# 忽略大小写

在 C# 中,你可以通过以下几种方式来忽略大小写: 使用 ToLower 或 ToUpper 方法将字符串转换为全小写或全大写,然后进行比较。使用 Compare 或 CompareOrdinal 方法,并传入正确的 StringComparer 实例以指示比较应该忽略大小写。使…

Android 开发Java调用Kotlin提示包不存在

在kotlin代码所在module的build.gradle设置 plugins {id org.jetbrains.kotlin.android }

Unity中Shader的Standard材质解析(一)

文章目录 前言一、在Unity中,按一下步骤准备1、在资源管理面板创建一个 Standard Surface Shader2、因为Standard Surface Shader有很多缺点,所以我们把他转化为顶点片元着色器3、整理只保留主平行光的Shader效果4、精简后的最终代码 前言 在Unity中&am…

基于Springboot+Vue选课系统

选课系统要求 (1)数据库表:教师信息表、学生信息表、课程表、选课表 其中,教师信息表、学生信息表和选课表的数据需要提前设置,本题主要操作课程表 (2) 技术架构: 后台使用springboot 前端使用vue-admin-template (3) 考试时间&…

鸿蒙(HarmonyOS)应用开发——安装DevEco Studio安装

前言 HarmonyOS华为开发的操作系统,旨在为多种设备提供统一的体验。它采用了分布式架构,可以在多个设备上同时运行,提供更加流畅的连接和互动。HarmonyOS的目标是提供更高的安全性、更高效、响应更快的用户体验,并通过跨设备功能…

Vue3 响应式数据 reactive使用

ref 与 reactive 是 vue3 提供给我们用于创建响应式数据的两个方法。 reactive 常用于创建引用数据,例如:object、array 等。 reactive 则是通过 proxy 来实现的响应式数据,并配合 reflect 操作的源对象。 reactive 创建引用数据&#xff1…

【实战精选】掌握图像风格迁移:构建基于生成对抗网络的系统

1.研究背景与意义 随着计算机技术的不断发展,图像处理和计算机视觉领域取得了长足的进步。图像风格迁移是其中一个备受关注的研究方向,它可以将一幅图像的风格特征应用到另一幅图像上,从而创造出新的图像。这项技术具有广泛的应用前景&#…

lazada商品详情数据接口(lazada.item_get)

Lazada商品详情数据接口是Lazada电商平台提供的一个API接口,用于获取商品详细信息。通过这个接口,开发者可以获取Lazada平台上商品的丰富信息,包括商品名称、价格、库存、描述、图片等。这个接口使用RESTful风格,并通过HTTP协议进…

经过了多少轮洗牌后,序列中间位置的牌面为9 ← random.shuffle()

【题目描述】 有牌面为1~9的扑克牌,现在进行洗牌,并存于一个序列中。 请输出经过了多少轮洗牌后,序列中间位置的牌面为9。【算法分析】 Python 中使用 random 模块中的 shuffle 函数,可随意排列列表中的元素。 本题中的输出&#…

【基础知识】AB软件RSLinx的版本说明

哈喽,大家好,我是雷工! 之前对AB的软件了解比较少,在工作中未接触过,最近一次现场勘察时,有很多中控系统都是AB的,借此机会对AB软件有了些许了解。 一、RSLinx是什么软件? RSLinx是…

fork介绍,返回值问题,写时拷贝,进程切换,子进程开始执行的位置,子进程的用途

目录 fork 介绍 fork的返回值问题 介绍 fork()时,系统要做什么 数据是否要独立 如果共享的话,就会出现问题! 写时拷贝 引入 介绍 举例(fork返回值) fork返回的值是什么 创建失败的原因 子进程执行位置从哪里开始 引入 进程切换 子进程执行的位置 子进程的…