精度和的含义。双类型范围

2024-01-12

首先,请允许我承认我是一名经验丰富的程序员,拥有超过 10 年的编程经验。然而,我在这里问的问题是自从大约十年前我第一次拿起一本关于 C 的书以来一直困扰着我的问题。

下面是一本关于Python的书的摘录,解释了Python的浮动类型。

浮点数使用本机表示 浮点数的双精度(64 位)表示 机器。通常这是 IEEE 754,它提供了大约 17 位精度和 –308 到范围内的指数 308.这与C中的double类型相同。

我一直不明白这句话的意思

“...提供大约 17 位精度和 指数范围为 –308 到 308 ...”

我的直觉在这里误入歧途,因为我可以理解精度的含义,但范围怎么可能与此不同。我的意思是,如果一个浮点数可以表示最多 17 位的值(即最大 1,000,000,000,000,000,00 - 1),那么指数怎么可能是 +308。如果指数为 10,这不是会产生 308 位数字;如果指数为 2,这不是会产生大约 100 位数字吗?

我希望,我能够表达我的困惑。

问候 阿布舍克·瓦伊德


假设我们以两位数的精度写出 1500。这意味着我们足够精确来区分 1500、1600 和 1400,但不够精确,无法区分 1500、1510 或 1490。区分这些数字需要三位数的精度。

即使我写了四位数字,浮点表示也不一定包含所有这些数字。 1500 是 1.5 * 10^3。在十进制浮点表示中,精度为两位数,仅存储数字和指数的前两位,我将其写为 (1.5, 3)。

为什么“真实”数字和占位符零之间存在区别?因为它告诉我们如何精确地表示数字,即由于近似而损失了其价值的哪一部分。我们可以区分 1500 = (1.5, 3) 和 1500+100 = (1.6, 3)。但如果我们增加指数,我们就无法区分 15000 = (1.5, 4) 和 15000+100 = (1.51, 4)。最好的情况是,我们可以将数字近似到 +/- 10% 的范围内,并具有两位小数的精度。无论指数允许多大或多小都是如此。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

精度和的含义。双类型范围 的相关文章

  • IEEE 754 浮点除法的可逆性

    IEEE 754 浮点除法的可逆性是什么 我的意思是标准是否保证如果double y 1 0 x then x 1 0 y i e x可以一点一点精确还原吗 时的情况y is infinity or NaN都是明显的例外 是的 有 IEEE
  • 活动背景昏暗

    我试图将活动显示为具有暗背景的浮动窗口 并且我使用以下代码来执行此操作 该代码取自 Google I O 2016 项目 protected void setupFloatingWindow int width int height int
  • java中'Float a = 3f'和'Float a = 3.0'有什么区别?

    如果我表演 97346822 3f result is 2 9204048E8 however 97346822 3 0 gives me 2 92040466E8 请解释 号码3 0 is the 字面表示 http docs oracl
  • Math.Abs​​(x) < double.Epsilon 是否等于 Math.Abs​​(x) == 0d?

    经过一番轻松阅读后 本文 http msdn microsoft com en us library system double epsilon 28v vs 110 29 aspx引起了我的兴趣 我本以为是的 根据 MSDN 的声明 这两
  • 页脚隐藏浮动导航 - 一旦浮动导航到达页脚,有什么方法可以向上滑动浮动导航吗?

    我正在尝试向侧边栏添加浮动导航 当你开始滚动后 我让 jquery 将导航浮动到顶部 它在顶部工作正常 但一旦到达底部 页脚就会隐藏导航 导航到达某个点后需要向上滚动 有什么解决办法吗
  • 在 C# 中检查 double 是否为整数的好方法是什么? [复制]

    这个问题在这里已经有答案了 可能的重复 如何判断小数 双精度数是否为整数 https stackoverflow com questions 2751593 how to determine if a decimal double is a
  • Java:将浮点二进制转换为浮点十进制

    我想转换表示 IEEE754 双精度数尾数部分的字符串 找不到Java中是否有这样的转换方法 以避免手动添加1 1 2 1 4 1 8等 010000001100101000011111000000000000000000000000000
  • Java:使用 double 不准确[重复]

    这个问题在这里已经有答案了 可能的重复 在java中使用双精度数保持精度 https stackoverflow com questions 322749 retain precision with doubles in java Java
  • Java - 一次双加法/减法的最大精度损失

    是否有可能确定 即使是粗略地 处理两个数据时的最大精度损失是多少 doublejava中的值 加 减 最糟糕的情况可能是两个数字无法精确表示 然后对它们执行运算 结果得到的值也无法精确表示 最坏的情况是all精度可能会丢失 例如 如果结果大
  • 在c中获取浮点数的指数

    抱歉 如果已经有人问过这个问题 并且我已经看到了提取浮点数指数的其他方法 但这就是给我的 unsigned f2i float f union unsigned i float f x x i 0 x f f return x i 我无法理
  • 当不应该使用整数和双精度数时会给出不同的答案

    我正在解决欧拉项目问题14 https projecteuler net problem 14使用java 我并不是寻求帮助解决问题 我已经解决了 但我遇到了一些我无法弄清楚的事情 问题是这样的 为正集合定义以下迭代序列 整数 n n 2
  • System.InvalidCastException:“无法将类型为“System.Double”的对象转换为类型为“System.Single”。”

    为什么 我在 obj Add new data 行上收到此错误 这是我的代码 SqlCommand com new SqlCommand sp get a con CommandType CommandType StoredProcedur
  • C IEEE-Floats inf 等于 inf

    在 C 中 在使用 IEEE 754 浮点数的实现中 当我比较两个 NaN 浮点数时 它返回 0 或 false 但是为什么两个都为 inf 的浮点数会被视为相等呢 该程序打印 equal 至少在带有 gcc 的 Linux AMD64 下
  • Jquery:按下输入类型=提交时防止重新加载页面

    我在 MVC 3 Razor 项目中有以下代码 div class user info div
  • 从列表转换为数字

    我正在从列表形式强制转换为数字形式 如果有用的话 列表最初是从一个因素中绘制的 并且是 1x33 行 我的列表定义为 tmpseqsf 1 其中规定 TradeValue 1 72914431 2 25325 3 20139 4 因此 根据
  • 关于指针的c/c++问题(双指针)

    自从我学习 c 和 c 课程以来已经有一段时间了 我对 c 指针很好奇 我将在我的示例中使用 new 关键字 即使我知道 malloc 是 C 方式 我总是记得我的老师总是强迫我们使用指针 她永远不会接受数组的作业 她向我们证明 当您使用指
  • 当计算结果在 Linux 中产生非正规数时刷新为零

    我的 C 代码中的计算正在产生逐渐下溢 当发生这种情况时 程序将以 SIGFPE 终止 当计算产生逐渐下溢 非正常 时 如何将结果刷新为零 而不终止执行 我正在一台 redhat linux 机器上工作 谢谢 您还没有指定架构 我猜测它是一
  • 32位机器如何计算双精度数

    如果我只有32位机器 CPU如何计算双精度数 这个数字是 64 位宽 FPU 如何处理它 更普遍的问题是 如何计算比我的 alu 更宽的东西 不过我完全理解整数方式 您可以简单地split https stackoverflow com q
  • 在java中以一定精度显示双精度数

    我目前正在编写一个计算器应用程序 我知道双精度数并不是良好数学的最佳选择 应用程序中的大多数函数都具有很高的精度 但有些函数不会得到非常难看的结果 我的解决方案是只向用户显示 12 位小数的精度 我选择 12 是因为我的最低精度来自我的数值
  • 什么时候应该使用双精度而不是十进制?

    我可以说出使用的三个优点double or float 代替decimal 使用更少的内存 速度更快 因为处理器本身支持浮点数学运算 可以表示更大范围的数字 但这些优点似乎只适用于计算密集型操作 例如建模软件中的操作 当然 当需要精度时 例

随机推荐

  • git-svn 迁移致命:不是有效的 SHA1 update-ref refs/heads/master refs/remotes/trunk:命令返回错误:128

    尝试将大型但线性的 svn 存储库迁移到 git svn 存储库没有标准布局 主干 分支 标签 只有主干的一个目录 Ubuntu 12 4 LTS git 1 7 9 5 git svn clone https coawstmodel so
  • 将 COM+ 应用程序从 Windows 2003 移植到 Windows 2008 Server 时出现的问题

    我们正在将应用程序从 Windows Server 2003 迁移到 Windows Server 2008 R2 我在迁移方面面临一些问题 我在Windows Server 2008 R2中部署了许多COM 组件 32位 和DCOM组件
  • 在Android中限制EditText文本长度的最佳方法是什么

    限制文本长度的最佳方法是什么EditText在安卓中 有没有办法通过 xml 来做到这一点 文档 http developer android com reference android widget TextView html attr
  • 如何将 npm 脚本转换为 grunt 任务?

    我的 NodeJS 有以下脚本 scripts start grunt test node debug harmony node modules grunt cli bin grunt test 我正在运行节点 v0 11 13 所以我需要
  • 如何对两个表进行求和?

    我有两个表 我需要对它们进行求和 表 1 包含时间段 即年底的年份和季度 即4 8 12ETC 表 2 包含全年各季度的交易情况3 6 7 etc 我需要表 3 来汇总一年中的所有交易 以便获得年底的累积头寸 以下是一些示例代码 用于解释数
  • 部署到 us-central1 以外的区域时,客户端可调用 Firebase 函数失败

    客户端可调用 Firebase 函数失败并显示 错误 无法读取数据 因为格式不正确 当部署到美国中部1以外的地区时 尝试过欧洲 西部和亚洲 服务器代码 exports getName functions region europe west
  • WCF - 如何编写仅向特定客户端发布的发布者\订阅者服务?

    我正在以发布 订阅模式编写 WCF 服务 当有人发布活动时 我不想立即将其发送给所有客户 我希望能够为每个客户检查是否需要通知该客户该发布 基本上 这将通过访问数据库并检查该客户端是否已使用这些参数订阅该特定事件来完成 无法提前完成 只需要
  • Spidev 不使用 ioctl 同时写入/读取

    我希望找到一些帮助 即使这个问题可能更多地与硬件相关而不是与软件相关 我们将会看到 我正在开发基于 Freescales P1021 处理器 ppc e500v2 内核 的定制板 将连接外部 PCB 并可通过 SPI 进行配置 该外部 PC
  • CSS 宽度属性不受尊重

    我正在 Joomla 中向一个具有 virtualmart 的网站添加一些格式化的 div 标签 到目前为止我在这方面已经取得了成功 我修改了我们使用的模板 以包含一个 css 文件 article css 其中包含我的自定义内容 我所拥有
  • 正则表达式匹配字符串之前且最接近的第一次出现

    我正在尝试使用正则表达式来获取最接近名称 Daily 的 ID 号 不过 我遇到了困难 当我尝试正则表达式模式时 我得到以下结果 从第一个 ID 出现到选择 每日 的所有内容 所有 ID 都是单独选择的 我可以指定匹配编号来获取正确的 ID
  • RX - 重新抛出包含方法中的错误

    我需要翻译 RX 流中的错误 IObservable 进入包含流订阅的方法中的异常 因为这个问题https github com aspnet SignalR pull 1331 https github com aspnet Signal
  • Kubernetes 负载均衡

    我正在研究 Kubernetes 不考虑特定的云提供商 目前还不清楚最通用的服务 不是负载均衡器类型的服务 是否充当单个微服务的各个副本之间的内部负载均衡器 So 如何在副本之间实现内部负载均衡而不将微服务暴露给外部流量 您可以使用 pod
  • 在 JMeter 中绘制自定义变量的图表

    我有一个简单的 Java Request 采样器 即 AbstractJavaSamplerClient 如何从此采样器生成自定义变量并绘制它们的图表 最好使用开箱即用的图形侦听器 目前我只能轻松绘制采样时间图 将你的 var 放入 JMe
  • 可以画一条弯弯曲曲的线吗?

    如果我想画一条水平线 我会这样做 div div 如果我想画一条垂直线 我会这样做 line width 1px height 100px background color 000 div div 曲线比较棘手 但可以使用border ra
  • 如何创建持久化的AlarmManager

    编辑 根据 CommonsWare 的回答澄清了问题 我们通过 AlarmManager 安排一个警报每 60 秒触发一次 当我们的应用程序被终止时 我们的警报似乎不再执行 有没有办法让这些警报持续存在 即使应用程序被手动或被系统终止 这对
  • 我可以让 HttpWebRequest 包含 Windows 凭据而不等待 401 质询吗?

    我的应用程序与需要身份验证的内部 Web API 进行通信 当我发送请求时 我收到了预期的 401 质询 握手发生 经过身份验证的请求被重新发送 一切都正常进行 但是 我know需要授权 为什么我必须等待挑战 我可以强制请求发送凭据firs
  • 如何为给定字符串输入集合[重复]

    这个问题在这里已经有答案了 可能的重复 如何获得子集所有可能的组合 https stackoverflow com questions 13765699 how can i obtain all the possible combinati
  • 在 PyQt 中使用 pyttsx

    我正在 pyqt 中为我的聊天机器人制作 Gui 但我在这方面的代码中遇到了一些问题 def init self super Window self init self setGeometry 50 50 500 300 self setW
  • 如何在 Python 3.7 中向 multiprocessing.connection.Client(..) 添加超时?

    我正在运行两个Python 程序 程序 A 通过以下方式连接到程序 B多重处理 module Connection code in program A import multiprocessing import multiprocessin
  • 精度和的含义。双类型范围

    首先 请允许我承认我是一名经验丰富的程序员 拥有超过 10 年的编程经验 然而 我在这里问的问题是自从大约十年前我第一次拿起一本关于 C 的书以来一直困扰着我的问题 下面是一本关于Python的书的摘录 解释了Python的浮动类型 浮点数