c++ - 如何在C++中表示无理数

标签 c++

我想用 C++ 中的类来表示所有无理数。

我怎样才能做到这一点?我的数据成员和函数应该是什么?

提前致谢...

最佳答案

我认为您能够实现这种性质的唯一方法是使用标识符,而不是实际的数学或数字表示。即使在纯数学中,由于给定的假设,无理数也被标记为无理数。即使是人类也无法真正用数字来表示无理数。因此,我唯一可以建议的是拥有已知无理数的标识符,如下所示:

enum Irrational {
    PI = 0,
    E,
    SQRT2,

    ...

};

然后您可能希望将它们与这样的 map 关联起来:

std::map<Irrational, double> myIrrationals;
myIrrations.insert( std::make_pair<Irrational, double>( PI, 3.141592654 ) );

如果在此 map 中找到无理数,则您对无理数的检查将为 true,否则为 false。

关于c++ - 如何在C++中表示无理数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34240797/

相关文章:

c++ - (msvcr120d.dll) 处的未处理异常

c# - SWIG 中的委托(delegate) - C#

c++ - OpenCV - 从视差图计算实际距离

c++ - 动态加载 "tile engine"中的 map

c++ - 直接 Access 旧的 MDB 文件

c++ - 分离轴定理错误触发

c++ - 通过 SWIG 从 Ruby 调用 C++ 函数

c++ - 不能分配给这个

unordered_map 中字符串的 C++ 哈希函数

c++ - Qt QFile 返回不存在但仍然打开并写入文件