Ok, Ja wiem na czym polega strata precyzji, ale czuje się już zagubiony :(
[CPP] http://ideone.com/qzPQPf - C++ - 1.000000
[C#] http://ideone.com/1kQ6Sj - C# (mono-2.8) - 0.9999907
[C#] http://pastebin.com/dpQiVDRh - C# (mono-2.10) - 0.9999907
[C#] VisualStudio - 0.9999907
[C] http://ideone.com/Pr8C6N - 1.000000
[CPP] (jakiś starszy GCC, nie wiem jak sprawdzić) - 0.999991
Staram się zebrać informacje odnośnie unikania owych strat, ale jak widać zależy to od kompilera (swoją drogą sry za mix C#)
Prawidłowy wynik to oczywiście 1
Już nie wiem co się dzieje, czy żeby zacząc tłumaczyć na czym polega lost precision trzeba najpierw napisać klauze "Zależnie od kompilatora"?
Jak to w końcu jest? Skąd mam wiedzieć, czy mój program nie wykrzaczy się / nie zbuguje? Jak unikać utraty precyzji?