[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[debian-users:29981] バグなのかどうか自信がないのですが。
Package: g++
Version: 2:2.95.4-6
において、
以下では結果が、49.5 なのですが、
===============================================
int main()
{
double start = 0.00, end = 1.00, width = 0.01;
cout << siguma(start, end, width) << endl;
return 0;
}
template <class T>
T siguma(const T &start, const T &end, const T &width)
{
T total = 0;
for(T i= start; i <= end; i += width) {
total += i;
}
return total;
}
================================================
次のように、桁数を変えると、
double start = 0.0, end = 1.0, width = 0.1;
5.5 になります。
プログラミングを始めて間がないので、もしかしたらbug ではないのかもしれませんが。
他にコンパイラーも無く、試すことができなかったので、ここに質問させてもらいました。
初歩的なミスであったら、申し訳ありません・・・。