Maksymalna wartość typu `Extended`

Maksymalna wartość typu `Extended`
Patryk27
Moderator
  • Rejestracja:ponad 17 lat
  • Ostatnio:ponad rok
  • Lokalizacja:Wrocław
  • Postów:13042
0

Witam; potrzebuję pobrać maksymalną oraz minimalną wartość typu Extended do zmiennej; próbowałem korzystać z konstrukcji High, lecz zwraca to jedynie Type mistmatch (FPC 2.6.2 32-bit).
Nie mam pomysłu, w jaki sposób mógłbym to zrobić :P


edytowany 1x, ostatnio: Patryk27
3
Patryk27
Moderator
  • Rejestracja:ponad 17 lat
  • Ostatnio:ponad rok
  • Lokalizacja:Wrocław
  • Postów:13042
0

Też właśnie na to trafiłem (wcześniej nie zauważyłem dopisku "A Extended set to its highest value is treated as Infinity.").
Tak więc:
High(Extended) = 1.1E4932
Low(Extended) = 1.9E-4932


edytowany 1x, ostatnio: Patryk27
vpiotr
Infinity to nie liczba. Nie wiem jak w FPC ale w C++ (a != a) jeśli a == inf, to tak ku przestrodze.
bogdans
A w Javie a == a == a+1 == a-1 == a+a == a*a, jeżeli a = Infinity.
Patryk27
Fakt, już poprawiłem :P
2

@Patryk27 , bo dokumentacja FPC nie istnieje, prawda? http://freepascal.org/docs-html/ref/refsu6.html#x28-310003.1.2

Kopiuj
Tak więc:
High(Extended) = Infinity
Low(Extended) = -Infinity

Nie
http://freepascal.org/docs-html/rtl/system/high.html
Ta funkcja nie działa dla typów rzeczywistych. Sądzenie że infinity jest najwyższe to raczej tak dyskutowany UB z widzenia języka. Uważaj bo piszesz groźny kod ;)

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.