因为一些不为人知的原因, 我需要一些能减少我程序误差的东西.于是找到了这个类.
然后下载了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
等的有效范围了.
好像并没有更合适的解决方案.
真·惨兮兮