C++ błędy zaokrągleń.

0

Źródło: http://edu.i-lo.tarnow.pl/inf/utils/010_2010/1001.php

// Program demonstruje błędy zaokrągleń
//-------------------------------------

#include <iostream>
#include <cstdlib>

using namespace std;

int main()
{
  double a = 0.1;

  cout << ((a * 10 == 1) ? "WSZYSTKO OK :)" : "NIC NIE JEST OK :(");
  cout << endl << endl;
  system("pause");
  return 0;
} 

Na tej stronie jest napisane, że program powinien wyświetlać: "NIC NIE JEST OK :(" i według opisu poniżej nawet się z tym zgodzę.
Jednak kiedy skopiowałem sobie ten kod do Deva i skompilowałem wyświetliło mi się: "WSZYSTKO OK :)"
Pytanie dlaczego? :)

4

Wyłącz optymalizacje.

  • Mahmud, czy ty Koran nie czytałeś, czemu kobieta idzie przed tobą?
  • Kiedy Koran pisano pól minowych nie było!

Kiedy pisano ta książkę optymalizatory nie byli tak sprytne.

0

Nie polecam wzorować się na tej stronie ani uczyć się z tego. Jestem z Tarnowa, dokładnie znam szkołe jak i autora tych tekstów.
http://ideone.com/1N5fxn
mój program pokazujący błędy zaokrąglenia.

1 użytkowników online, w tym zalogowanych: 0, gości: 1