Tagwächter: Addition != Addition: Warum?

Beitrag lesen

Hallo,

in C habe ich ein Phänomen, welches nach einer Erklärzung schreit. Wer hilft mir mal auf die Sprünge?

Jonas

Ich habe das

#include <stdio.h>

void summe_float() {
    float x1 = 10000.0, x2 = -1.0e-3 / 9.0,x3 = 25.0e2, x4 = 1.0e-3 / 7.0, x5 = -12.5e3;
    float y = x1;
    y+=x2;
    y+= x3;
    y+= x4;
    y+= x5;

    float z = x1+x2+x3+x4+x5;

printf("Fall 1: (Addition schrittweise):%.21f \n",y);
printf("Fall 2: (Addition direkt):%.21f \n",z);
return 0;
}

int main() {
summe_float();
    return 0;
}

mal kopiert, compiliert und ausgeführt:

/tmp$ gcc -o test.bin test.c
test.c: In function ‘summe_float’:
test.c:15:1: warning: ‘return’ with a value, in function returning void [enabled by default]
 return 0;
 ^
/tmp$ ./test.bin 
Fall 1: (Addition schrittweise):0.000000000000000000000 
Fall 2: (Addition direkt):0.000000000000000000000 
0 51

Addition != Addition: Warum?

Jonas2
  • programmiertechnik
  1. 0
    1unitedpower
    1. 0
      Jonas2
    2. 1
      Matthias Apsel
      1. 0
        1unitedpower
        1. 0
          Jonas2
          1. 0
            1unitedpower
  2. 0
    Tagwächter
    1. 0

      Netter Versuch der Verarsche.

      Tagwächter
      1. 0
        Jonas2
        1. 0
          Tagwächter
      2. 0

        By the way: Kalender-Test

        Tagwächter
        1. 0
          Jonas2
          1. 0
            Google weiß alles
        2. 0
          1unitedpower
  3. 0

    Ich erkärs Dir ...

    Google weiß alles
    1. 0
      Jonas2
      1. 0
        Google weiß alles
        1. 1
          Rolf b
          1. 0
            Rolf b
            1. 0
              Der-Dennis
          2. 0
            Tagwächter
          3. 0
            1unitedpower
            1. 1
              Rolf b
              1. 0
                1unitedpower
                1. 0
                  Rolf b
    2. 0
      Der-Dennis
      1. 1
        Matthias Apsel
        1. 0
          Google weiß alles
          1. 0
            Der Martin
            • mathematik
            • programmiertechnik
            1. 0
              Google weiß alles
          2. 0
            Gunnar Bittersmann
        2. 0
          Der-Dennis
      2. 0
        Gunnar Bittersmann
        1. 0
          Der-Dennis
          1. 0
            Tabellenkalk
            1. 0
              Der-Dennis
              1. 0
                Tabellenkalk
                1. 0
                  Der-Dennis
                  1. 0
                    Tabellenkalk
                    • begriff
                    1. 0
                      Der-Dennis
          2. 0
            Gunnar Bittersmann
            1. 1
              Matthias Apsel
              1. 0
                Gunnar Bittersmann
                1. 0
                  Der-Dennis
              2. 0
                Der-Dennis
            2. 0
              Tabellenkalk
              • hardware
              1. 0
                Der-Dennis
            3. 2
              Der-Dennis
              1. 0
                Gunnar Bittersmann
                1. 0
                  Der-Dennis