Znalazlem blad w proc. Cyrix ?!

Autor: roman_at_silesia.pik-net.pl
Data: Sun 24 May 1998 - 19:19:28 MET DST


Krzysztof Dusza wrote:

 KD> Mam procesor Cyrix 150 MHz bez MMX.
 KD> Podczas pisania programu w C++ zauważyłem,
 KD> że obliczenia są nieprawidłowe.

LITOŚCI! Bierzesz się za programowanie, nie znając absolutnych _podstaw_!

 KD> Z poczatku szukalem oczywiscie mojego bledu, ale nagle
 KD> okazalo sie, ze to _processor_ sie myli !

TY SIĘ MYLISZ, wymagając od procesora nieskończonej dokładności.

 KD> Oto źródło tego programu:
 KD> double d = 0.0;
 KD> d = d + 0.1;

[...]

 KD> d = d + 0.1;
 KD> d = d - 1.0;
 KD> Tutaj "d" powinno byc rowne 0.

Tylko i wyłącznie na papierze!

 KD> Niestety u mnie jest równe
 KD> -1.11022e-016
 KD> czyli inaczej:
 KD> -0.000000000000000111022

I prawidłowo - a czego oczekiwałeś???? Błąd jest na 16-tym miejscu po
przecinku. Oczekujesz lepszej dokładności od typu double?

[...]

 KD> Moze byc, ze tylko moj egzemplarz procesora jest wadliwy.

ROTFL!

--
RoMan (2:484/88_at_fidonet.org)
mailto:roman_at_silesia.pik-net.pl


To archiwum zostało wygenerowane przez hypermail 2.1.7 : Tue 18 May 2004 - 17:18:00 MET DST