9 个版本
0.1.8 | 2024 年 4 月 9 日 |
---|---|
0.1.7 | 2023 年 11 月 23 日 |
0.1.5 | 2020 年 10 月 1 日 |
0.1.4 | 2020 年 1 月 26 日 |
0.1.1 | 2017 年 3 月 14 日 |
#151 在 数学
10KB
166 行
pihex
pihex 是使用 Rust 编写的任意位十六进制数字 π 观察器。该库基于 Bailey-Borwein-Plouffe 公式(BBP 公式)和 Bellard 公式。
$ pihex
0: 243f 6a88 85a3 08d3 1319 8a2e 0370 7344
$ pihex 1
2: 3f6a 8885 a308 d313 198a 2e03 7073 44a4
$ pihex 4
4: 6a88 85a3 08d3 1319 8a2e 0370 7344 a409
$ pihex 8
128: 9216 d5d9 8979 fb1b d131 0ba6 98df b5ac
$ pihex 65536
65536: 3004 3414 c926 7212 d7fb 8a3f fc7c 7002
$ pihex 1000000
1000000: 6c65 e52c b459 3500 50e4 bb17 8f4c 67a0
$ pihex 10000000
10000000: 7af5 863e fed8 de97 033c d0f6 b80a 3d26
$ pihex 100000000 # defaults to BBP formula
100000000: cb84 0e21 926e c5ae 0d2f 3405 1045 93cb
$ pihex --formula=bellard 100000000 # yields the same result but faster than BBP formula
100000000: cb84 0e21 926e c5ae 0d2f 3405 1045 93cb
有关更多详细信息,请参阅 pihex --help
。
安装
Homebrew
brew install itchyny/tap/pihex
从 crates.io 构建
cargo install pihex
从源代码构建
git clone https://github.com/itchyny/pihex
cd pihex
cargo install --path .
作者
itchyny (https://github.com/itchyny)
许可证
本软件根据 MIT 许可证发布,请参阅 LICENSE。
免责声明
我已经非常仔细地进行测试,但由于浮点数运算的不精确性,此软件并不总是给出正确答案。如果 π 的二进制表示中存在超过 53 位零的位数(我不确定具体位置),我们无法保证使用双精度浮点数计算出的答案是正确的。因此,当您使用此软件时,请注意答案可能受到浮点计算错误的影响。如果十六进制表示中连续的数字重复 '0' 或 'f' 超过 13 次,则由于这种计算错误,结果高度不准确。
参考文献
- David H. Bailey, Peter Borwein, 和 Simon Plouffe,关于快速计算各种多对数常数,Mathematics of Computation 66,903-913,1997。
- David H. Bailey,BBP 算法计算 π,2006 年 9 月 17 日。
- Fabrice Bellard,一种计算 π 的第 n 个二进制位的新公式,1997 年。
依赖项
~1.2–1.7MB
~32K SLoC