Groups | Search | Server Info | Login | Register


Groups > de.comp.lang.iso-c++ > #2107

Re: Runden zufällig?

From Thomas Dorner <td-dclic01@th-dorner.de>
Newsgroups de.comp.lang.iso-c++
Subject Re: Runden zufällig?
Date 2019-09-25 16:31 +0200
Organization solani.org
Message-ID <6etv904fd0.fsf@th-dorner.de> (permalink)
References <qmfbu1$cho$1@news.albasani.net>

Show all headers | View raw


Hallo Markus!

> Ich habe festgestellt, dass das Runden bei der Ausgabe von
> Gleitkommazahlen zufällig zu sein scheint:

Scheint stimmt.  :-)

> double x = 31371.185;
> std::cout << std::fixed
> 	<< std::setprecision(3) << x << " ~ "
> 	<< std::setprecision(2) << x
> 	<< std::endl;
>
> double y = 36371.185;
> std::cout << std::fixed
> 	<< std::setprecision(3) << y << " ~ "
> 	<< std::setprecision(2)	<< y
> 	<< std::endl;
>
> Ausgabe:
>
> 31371.185 ~ 31371.19
> 36371.185 ~ 36371.18
>
> Ich habe das mit mehreren C++-Compilern probiert, das Ergebnis ist
> immer das selbe.

Das liegt an der internen Repräsentation von Gleitkommazahlen,
vermutlich nach IEEE.  Wenn Du Dir Deine Zahlen mal ganz genau
anschaust, siehst Du den Grund:

    std::cout << std::setprecision(12) << x << "\n" << y << "\n";

31371.185000000001
36371.184999999998

Also alles ganz normal und korrekt.  Siehe
https://de.wikipedia.org/wiki/Gleitkommazahl

Viele Grüße, Thomas

Back to de.comp.lang.iso-c++ | Previous | NextPrevious in thread | Next in thread | Find similar


Thread

Runden zufällig? Markus Donath <nntp@online.de> - 2019-09-25 11:27 +0200
  Re: Runden zufällig? Thomas Dorner <td-dclic01@th-dorner.de> - 2019-09-25 16:31 +0200
    Re: Runden zufällig? Markus Donath <nntp@online.de> - 2019-09-26 09:25 +0200
      Re: Runden zufällig? Markus Schaaf <mschaaf@elaboris.de> - 2019-09-26 12:58 +0200
        Re: Runden zufällig? Markus Donath <nntp@online.de> - 2019-09-26 15:08 +0200
          Re: Runden zufällig? Markus Schaaf <mschaaf@elaboris.de> - 2019-09-27 09:31 +0200
      Re: Runden zufällig? Hergen Lehmann <hlehmann.expires.5-11@snafu.de> - 2019-09-26 13:09 +0200
        Re: Runden zufällig? Markus Donath <nntp@online.de> - 2019-09-27 08:47 +0200
          Re: Runden zufällig? Markus Koßmann <markus.kossmann@gmx.de> - 2019-09-27 12:15 +0200
      Re: Runden zufällig? Thomas Dorner <td-dclic01@th-dorner.de> - 2019-09-26 18:40 +0200
  Re: Runden zufällig? Bonita Montero <Bonita.Montero@gmail.com> - 2019-09-25 16:06 +0200
  Re: Runden zufällig? Stefan Reuther <stefan.news@arcor.de> - 2019-09-25 17:35 +0200
  Re: Runden zufällig? Bonita Montero <Bonita.Montero@gmail.com> - 2019-09-27 08:40 +0200

csiph-web