【ULP】什么是ULP

简介: 【ULP】什么是ULP

定义:对于给定的浮点格式,特定实数值的 ulp 是与此实数值左右最近的两个浮点数的距离。

IEEE754标准的32位浮点数为例。如果想表示实数值 0.1 是无法准确表示的,只能用最接近 0.1 的可以精确表示的浮点数来表示。这样的数有两个,设为A、B,它们的十六进制和十进制表示分别为:

A:
十六进制:0x3dcccccc
十进制:0.099999994039536
B:
十六进制:0x3dcccccd
十进制:0.10000000149012

那么 0.1 的 ulp 就等于 |A - B| = 0.00000000745076

如果计算机 1 使用向下近似的方法用 A 来表示 0.1

那么误差ulps = 0.1 - 0.099999994039536 = 0.000000005960464 = (0.000000005960464 / 0.00000000745076) ≈ 0.8

如果计算机 2 使用向上近似的方法用 B 来表示 0.1

那么误差ulps = 0.10000000149012 - 0.1 = 0.00000000149012 = (0.00000000149012 / 0.00000000745076) ≈ 0.2

由上述计算可知,在 IEEE754 标准的 32 位浮点数的前提下,计算机 1 关于 0.1 的计算误差为 0.8 ulps,计算机 2 关于 0.1 的计算误差为 0.2 ulps。

相关文章
|
3月前
|
机器学习/深度学习 监控 数据可视化
Ultralytics是什么?
【8月更文挑战第3天】Ultralytics是什么?
197 0
|
5月前
|
计算机视觉
detectMultiScale
【6月更文挑战第8天】
246 4
|
SQL 数据库
浅谈null
前言: 我们平时对SQL的数值处理的过程中,经常会纠结一个问题,要不要设置为null?那么null到底是什么意思?在这篇文章中,我将为大家简单的介绍一下我们使用的null。
5897 0
浅谈null
The Sandwich Rule
目标:训练一个可以直接以任意宽度运行的单一网络。其实是在权重共享的条件下,我们可以根据不同的硬件设备挑选不同宽度的网络,不再重训练一个权重。
122 0
The Sandwich Rule
|
Serverless 程序员 云计算
Serverful
Serverful
178 0
Hulk
Hulk
113 0
Hulk
|
JavaScript 前端开发
|
Web App开发 Linux 前端开发