Jestem zdezorientowany, dlaczego dbamy o różne reprezentacje dla dodatniego i ujemnego zera.
Z niejasnych wspomnień czytam, że posiadanie ujemnej reprezentacji zera jest niezwykle ważne w programowaniu, które obejmuje liczby zespolone. Nigdy nie miałem okazji pisać kodu zawierającego liczby zespolone, więc jestem nieco zaskoczony, dlaczego tak się dzieje.
Artykuł Wikipedii na temat tego pojęcia nie jest szczególnie pomocny; tylko niejasne twierdzenia o podpisanym zeru upraszczają niektóre operacje matematyczne w liczbach zmiennoprzecinkowych, jeśli dobrze rozumiem. W tej odpowiedzi wymieniono kilka funkcji, które zachowują się inaczej. Być może z przykładów można wywnioskować, jeśli znasz sposoby ich użycia. (Chociaż szczególny przykład złożonych pierwiastków kwadratowych wydaje się zupełnie niewłaściwy, ponieważ te dwie liczby są matematycznie równoważne, chyba że mam nieporozumienie.) Ale nie byłem w stanie znaleźć jasnego stwierdzenia o rodzaju kłopotów, które można spotkać, gdyby ich nie było. Im więcej zasobów matematycznych udało mi się znaleźć, stwierdziłem, że nie ma między nimi rozróżnienia z matematycznego punktu widzenia, a artykuł z Wikipedii wydaje się sugerować, że rzadko jest to postrzegane poza obliczeniami, poza opisywaniem ograniczeń.
Dlaczego więc zero ujemne jest cenne w informatyce? Jestem pewien, że coś mi umknęło.
sqrt(-1+0i) = i
i sqrt(-1-0i) = -i
, choć uważam, że ma odpowiednią składnię dla jakiegoś języka programowania. Będę edytować, aby być bardziej przejrzystym.