C++ : Boost : Rational 有理数类

时间:2022-06-25 10:19:10

因为一些不为人知的原因, 我需要一些能减少我程序误差的东西.于是找到了这个类.
然后下载了Boost这个庞大的库.

安装与配置

在官网上找到下载地址, 大概有71MB, 下来来解压到任意位置就好了.

注意在系统路径里面添加它是没有用的, 并不能让GCC在编译的时候找到里面的头文件.
一种解决方案是使用编译命令来让GCC找到它:

g++ a.cpp -I E:\GCC\boost\boost_1_66_0 -o a

使用方法:

#include <boost\rational.hpp>

const rational<int> A = rational<int> (FenZi, FenMu);

int main () {
    rational<int> B = rational<int> (Fenzi);
    cout << B + A << endl;                        // 输出一个既约分数的形式
    cout << rational_cast<double>(A / B); // 以double类型输出
}

后续

然而好像除了浪费了我好长时间之外并没有什么用, 因为我用到的有理数的分数形式已经远远超过int, long long等的有效范围了.
好像并没有更合适的解决方案.
真·惨兮兮