@PiotrekSul: @pwone: Tak jest w standardzie IEEE 754 opisującym floaty. Standard C określa 5/0 jako wartość niezdefiniowaną i już konkretna implementacja koprocesora lub kompilatora może przydzielić tam Inf lub NaN (w teorii może też 42).
Ok. Wszyscy wiedzą, że nie można dzielić przez 0 ale czy wiedzą dlaczego? Dlaczego można np. potęgować x^0, a dzielić już nie? Dlaczego ta operacja jest niezdefiniowana?
@CREAMY_SUPERIOR: Jest prostsze wyjaśnienie, wynika to z definicji dzielenia jeżeli a dzieli b to oznacza to, że istnieje dokładnie jedno takie c, że a * c = b. To teraz jeżeli a = 0 to wtedy oznacza to, że b = 0. Czyli mamy a * c = 0 * c = 0 ale z tego wprost wynika, że dowolne c spełnia to równanie, więc wynik nie jest jednoznaczny. Nie jest
@CREAMY_SUPERIOR: a nie prościej tak: masz 5 patykow które musisz rozdać 0 osobom po równo. I nie wracaj do domu zanim nie rozdasz. I jesteś w dupie. Myślę, że dziecko w szkole lepiej zrozumie niż jakieś definicje matematyczne
Komentarze (143)
najlepsze
Ale każdy język zgodny z IEEE 754 umieści tam Inf
https://stackoverflow.com/questions/4745311/c-division-by-0
Dlaczego można np. potęgować x^0, a dzielić już nie? Dlaczego ta operacja jest niezdefiniowana?
A co jeśli koncerny energetyczne wkręciły nam, żeby nie dzielić przez zero, bo się boją straty zysków???