Department of Computer Science | Institute of Theoretical Computer Science | CADMO

Theory of Combinatorial Algorithms

Prof. Emo Welzl and Prof. Bernd Gärtner

// Programm: bigsmall.C // demonstriert drastisch den Einfluss der // Summationsreihenfolge auf das Ergebnis // von Fliesskommaadditionen #include int main() { const unsigned int m = 16777216u; // 2^24 // -24 -24 -24 // 1 + 2 + 2 + ... + 2 // ------- 2^24 mal ------ float sum1 = 1.0f; for (unsigned int i = 0; i < m; ++i) sum1 += 1.0f / m; // kein Effekt // -24 -24 -24 // 2 + 2 + ... + 2 + 1 // ------- 2^24 mal ------ float sum2 = 0.0f; for (unsigned int i = 0; i < m; ++i) sum2 += 1.0f / m; // exakte Addition sum2 += 1.0f; // exakte Addition std::cout << "Vorwaertssumme: " << sum1 << "\nRueckwaertssumme: " << sum2 << std::endl; return 0; }