我在使用C++中的运算符重载实现对数类时遇到了一些问题。在C++中使用对数实现运算符重载
我的第一个目标是我将如何实施changeBase
方法,我一直在困难的时间包扎着它。
我试图理解改变对数基数后的数学,但我一直无法做到。有人可以向我解释吗?
我的第二个目标是能够执行左操作数为double
且右操作数为对数对象的操作。
这是我的日志类的一个片段:
// coefficient: double
// base: unsigned int
// result: double
class _log {
double coefficient, result;
unsigned int base;
public:
_log() {
base = 10;
coefficient = 0.0;
result = 0.0;
}
_log operator+ (const double b) const;
_log operator* (const double b) const;
_log operator- (const double b) const;
_log operator/ (const double b) const;
_log operator<< (const _log &b);
double getValue() const;
bool changeBase(unsigned int base);
};
你们是真棒,谢谢您的时间。
你能更具体地关于难以实施基地的变更? – 2010-05-05 03:15:14
@詹姆斯,对不起。我会编辑我的答案。 – 2010-05-05 04:30:37
什么是“系数”和“数字”?见http://en.wikipedia.org/wiki/Common_logarithm:常用名称是“特征”还是“尾数”? – Potatoswatter 2010-05-05 04:34:12