当一个浮点数大于它的精度时,它叫什么?

what is it called when a floating point number is larger than its precision?

在单点精度中,有一个 23 位的有效数,给出了一个最大 2^24 的整数范围(如果我们只存储一个离散的整数值)。指数为 8 位,范围最大为 2^127。在大数量级上,有一点他们开始从 significand/mantissa.

中丢失有效数字

这意味着像 (2^32 + 2^8) 这样的数字:
4,294,967,552
0x100000100
0b100000000000000000000000100000000
将简单地存储为:
指数 0b00100000
有效数/尾数 0b00000000000000000000000(1 个实现位)
并从其精度上损失 256。

这似乎与所谓的 'sub-normal' 数字相反。本质上,作为整数存储在有效数字中的数字范围远小于在考虑指数时能够存储的数字范围。所以一旦你达到 2^24 你就开始丢失信息(可能我对标准有误解)!这似乎与当存在有效数但指数小于 2^-127

时信息丢失时在次正常范围内发生的情况相反

我对 IEEE754 标准的理解是否遗漏了什么?
如果不是,当大数量级数字失去精度时,这种情况称为什么(这似乎与次正规相反,也许 'supernormal')?
为了保持精度,我应该将所有浮点数限制为 -(10^7) < x < 10^7 吗?

编辑 更新了100,000,010的数字,我也添加了更多的语言来解释我的理解。

编辑 2 @Weather Vane 是正确的。浮点精度的要点是,一旦我们开始增加幅度,它就会在小数尺度上失去精度,当幅度增加小数点超过尾数
时,这开始影响整数尺度 0.0000000000000000000001 ->-> 10000000000000000000000.0 我明白为什么指数比表示超小数字的有效数字大得多,以尽可能最大的精度,但对于大数量级的数字,似乎整个 class 的数字都以大于分数的方式丢失信息一旦我们在 binay 中超过 23 sig fig,就进行缩放。我想知道这些叫什么,如果他们甚至有一个名字,例如'super normal'?

当并非实数的所有数字都可以用浮点格式表示时发生的情况的名称就是“舍入”。

表示整数的情况有些特殊,因为在典型的浮点格式中,所有小整数都可以精确表示,特别是没有整数会因为太接近零而无法精确表示。

但是,由于该问题涉及次正规数,因此通常认为进入次正规领域的对偶溢出是正确的。一种看待这个问题的方法是,在单精度 IEEE 754 数字的整个正常范围内,有效精度是 24 位,并且当数字太接近零(次正常范围)并且精度降低到 0 时,精度逐渐降低溢出时一次全部位(+inf 和 -inf)。

由于问题是关于表示整数(见评论),在单精度 IEEE 754 中任何整数 x 使得 -224 <= x <= 224 可以安全地表示(即 [-16777216 … 16777216])。 16777217 是不能用单精度精确表示的最小正整数(最近偶数规则意味着它向下舍入为 16777216.0)。

浮点数解决了更普遍的问题,即表示一些不是整数的实数,以及一些大于所有整数可表示的最大整数(此处为 16777216)的实数,所有这些都带有几乎一致的相对精度(至少 1 / 2精度)。