5个不稳定版本
| 新 0.3.1 | 2024年8月8日 |
|---|---|
| 0.3.0 | 2024年8月8日 |
| 0.2.0 | 2023年6月15日 |
| 0.1.2 | 2023年3月2日 |
| 0.1.1 | 2023年3月1日 |
#148 in 数学
268 每月下载量
用于 arrs
40MB
291K SLoC
此Crate提供了一个八倍精度二进制浮点数算术的实现。
来自维基百科
“在2008年的修订版中,IEEE 754标准将binary256格式指定为交换格式之一(它不是一个基本格式),具有以下特性”
Sign bit: 1 bit
Exponent width: 19 bits
Significand precision: 237 bits (236 explicitly stored)
该格式使用一个隐含的首位值为1的隐式首位位,除非指数全为零。因此,只有236位的有效数字出现在内存格式中,但总精度为237位(约71位十进制数字:log₁₀(2²³⁷) ≈ 71.344)。位按以下方式排列
![]()
指数编码
八倍精度二进制浮点数指数使用偏移二进制表示法进行编码,零偏移量为262143;也称为IEEE 754标准中的指数偏移。
Eₘᵢₙ = −262142
Eₘₐₓ = 262143
Exponent bias = 3FFFF₁₆ = 262143
因此,根据偏移二进制表示法,为了获得真实指数,必须从存储的指数中减去262143的偏移量。
存储的指数00000₁₆和7FFFF₁₆被特别解释。
| 指数 | 有效数字为零 | 有效数字非零 | 方程 |
|---|---|---|---|
| 00000₁₆ | 0, −0 | 下溢数值 | (-1)signbit × 2⁻²⁶²¹⁴² × 0.significandbits₂ |
| 00001₁₆ … 7FFFE₁₆ | 标准化值 | 标准化值 | (-1)signbit × 2exponent bits₂ × 1.significandbits₂ |
| 7FFFF₁₆ | ±∞ | NaN(静默,指示) |
最小严格正(下溢)值是2⁻²⁶²³⁷⁸ ≈ 10⁻⁷⁸⁹⁸⁴,精度只有一位。最小正正常值是2⁻²⁶²¹⁴² ≈ 2.4824 × 10⁻⁷⁸⁹¹³。可表示的最大值是2²⁶²¹⁴⁴ − 2²⁶¹⁹⁰⁷ ≈ 1.6113 × 10⁷⁸⁹¹³。
类型 f256 将提供与内置 f64 相同的稳定API(除了由增加的精度引起的差异)。
入门
将 f256 添加到您的 Cargo.toml
[dependencies]
f256 = "0.3"
Crate功能
默认情况下,仅启用功能 std。
生态系统
- std - 打印和一些测试依赖于此功能。除此之外,通过使用
alloccrate 提供了转换为字符串和格式化的支持,因此此功能也适用于非标准环境。
可选依赖项
- num-traits - 当启用时,为
f256实现了num-traits::Numtrait。