constantfolding

Dlaczego 0,1 + 0,2 = = 0,3 W D?

assert(0.1 + 0.2 != 0.3); // shall be true Jest moim ulubionym sprawdzeniem, czy język używa natywnej arytmetyki zmiennoprz ... writeln(a + b != 0.3); // standard calculation in double precision } Wyjście: false true Http://ideone.com/z6ZLk

Dlaczego GCC implementuje isnan () wydajniej dla C++ niż C?

Oto Mój kod: int f(double x) { return isnan(x); } If I #include <cmath> I get this assembly: xorl %eax, %eax ... powinni używać __builtin_isnan(), a jeśli tak, dlaczego? Testowałem GCC 4.7.2 i 4.9.0 na x86 - 64 z optymalizacją -O2 i -O3.