Autor Wątek: Zmienna ściśle dodatnia  (Przeczytany 2441 razy)

Offline CzarnyKot

  • Użytkownik

# Styczeń 14, 2016, 16:19:35
Witam

Mam pytanie, co oznacza termin, że zmienna x w równaniu jest ściśle dodatnia?

Offline Mr. Spam

  • Miłośnik przetworów mięsnych

Offline karol57

  • Użytkownik

# Styczeń 14, 2016, 16:52:13
Na moje to:
  • dodania: x >= 0
  • ściśle dodania: x > 0

Offline Krzysiek K.

  • Redaktor
    • DevKK.net

# Styczeń 14, 2016, 17:32:57
Na moje to:
  • dodania: x >= 0
  • ściśle dodania: x > 0
Zero nie jest ani dodatnie, ani ujemne, a liczby x>=0 określa się zazwyczaj jako liczby nieujemne.

Offline Estivo

  • Użytkownik
    • Blog

# Styczeń 14, 2016, 17:52:45
https://pl.wikipedia.org/wiki/Miara_%C5%9Bci%C5%9Ble_dodatnia

"Miara licząca określona na dowolnym zbiorze X (wyposażonym w jakąkolwiek topologię) jest ściśle dodatnia."

tak więc to taka zmienna, która „nigdzie nie znika” lub też „zeruje się tylko w punktach”.

Offline karol57

  • Użytkownik

# Styczeń 14, 2016, 18:49:27
Zero nie jest ani dodatnie, ani ujemne, a liczby x>=0 określa się zazwyczaj jako liczby nieujemne.
Powiedz to ludziom od IEEE 754 :D

Swoją drogą skoro zero nie jest ani dodatnie, ani ujemne to po prostu traktuje, je jako "może być dodatnie i może być ujemnne". Jakbym się spotkał z terminem "ściśle dodatnie" to bym go rozumiał jako dotatnie i tylko dodatnie, więc 0, się do tej kategorii nie pisze :).

// EDIT: Po prostu (kierując się Brzytwą Ockhama) moje wyjaśnienie wydaje się najbardziej logiczne, dlatego to napisałem.
« Ostatnia zmiana: Styczeń 14, 2016, 18:51:33 wysłana przez karol57 »

Offline Xion

  • Redaktor
    • xion.log

# Styczeń 14, 2016, 19:30:31
Cytuj
Powiedz to ludziom od IEEE 754 :D
W IEEE754 ani zero, ani żadna inna liczba nie jest sama z siebie dodatnia lub ujemna, bo każda ma przypisany jawny znak.

Offline Vault 11th

  • Użytkownik

  • +1
# Styczeń 14, 2016, 21:15:48
Powiedz to ludziom od IEEE 754 :D

Swoją drogą skoro zero nie jest ani dodatnie, ani ujemne to po prostu traktuje, je jako "może być dodatnie i może być ujemnne". Jakbym się spotkał z terminem "ściśle dodatnie" to bym go rozumiał jako dotatnie i tylko dodatnie, więc 0, się do tej kategorii nie pisze :).

// EDIT: Po prostu (kierując się Brzytwą Ockhama) moje wyjaśnienie wydaje się najbardziej logiczne, dlatego to napisałem.
Co jest niby logiczne w twoim wywodzie?
Definicje:
liczba dodatnia - liczba większa od zera;
liczba ujemna - liczba mniejsza od zera.
Zero z definicji nie jest ani większe, ani mniejsze od zera.

Offline Krzysiek K.

  • Redaktor
    • DevKK.net

# Styczeń 14, 2016, 22:16:46
Cytuj
Powiedz to ludziom od IEEE 754 :D
Cóż, trochę za późno. Nie wiedzieli czy zero jest dodatnie, czy ujemne, więc na wszelki wypadek zrobili dwa. ;)

Cytuj
// EDIT: Po prostu (kierując się Brzytwą Ockhama) moje wyjaśnienie wydaje się najbardziej logiczne, dlatego to napisałem.
No niezbyt logiczne, bo jak się definiuje jakieś pojęcie (np. "liczba dodatnia"), to się definiuje je w taki sposób, że nie ma miejsca na "może być tak lub siak". Inaczej pojęcie staje się całkowicie bezużyteczne - nie użyjesz go w żadnym twierdzeniu, czy dowodzie.

Cytuj
W IEEE754 ani zero, ani żadna inna liczba nie jest sama z siebie dodatnia lub ujemna, bo każda ma przypisany jawny znak.
Czyli jest dodatnia lub ujemna, bo bez bitu znaku nie jest to liczba IEEE 754.

Offline Reg

  • Administrator
    • Adam Sawicki - Home Page

# Styczeń 15, 2016, 15:18:14
Nie demonizujmy tych floatów, one zachowują się całkiem logicznie :) Chociaż są dwa rodzaje zera, to one są sobie równe, a każda liczba dodania jest większa od obu z nich, każda ujemna mniejsza, tak że w praktyce zwykle nie trzeba się tym przejmować.

-2.0f < 0.0f
-2.0f < -0.0f
2.0f > 0.0f
2.0f > -0.0f
-0.0f == 0.0f

Offline Xion

  • Redaktor
    • xion.log

  • +1
# Styczeń 15, 2016, 17:28:26
Cytuj
Nie demonizujmy tych floatów, one zachowują się całkiem logicznie :) Chociaż są dwa rodzaje zera, to one są sobie równe (...)
Spokojnie, balansuje to inny float, który nie jest równy nawet samemu sobie ;-)

Offline Reg

  • Administrator
    • Adam Sawicki - Home Page

# Styczeń 16, 2016, 15:22:06
Mogłeś już napisać jaki, bo nie wszyscy wiedzą. Chodzi o tzw. NaN - "Not a Number". Ta specjalna wartość oznacza swego rodzaju "błąd". Każda operacja z NaN-em da ponownie NaN i każde porównanie z nim zwróci false, nawet jego z samym sobą.

(2.0f == NaN) == false
(NaN == NaN) == false

Można to sobie wyobrazić tak, że oprócz normalnych liczb dodatnich i ujemnych we floatach mamy wartości specjalne:

- -0 i +0, które wychodzą, kiedy wynik operacji jest zbyt mały, żeby się go dało zapisać.
- -INF i +INF, które wychodzą, kiedy wynik operacji jest zbyt duży, żeby się go dało zapisać.
- NaN, który wychodzi, kiedy wynik operacji już w ogóle nie ma sensu, np. 0/0.

Taki NaN jest "po cichu" propagowany przez kolejne operacje, w przeciwieństwie do dzielenia przez zero liczb typu int, które to powoduje wywalenie się programu.

Offline Krzysiek K.

  • Redaktor
    • DevKK.net

# Styczeń 16, 2016, 16:00:20
Cytuj
Można to sobie wyobrazić tak, że oprócz normalnych liczb dodatnich i ujemnych we floatach mamy wartości specjalne:

- -0 i +0, które wychodzą, kiedy wynik operacji jest zbyt mały, żeby się go dało zapisać.
- -INF i +INF, które wychodzą, kiedy wynik operacji jest zbyt duży, żeby się go dało zapisać.
- NaN, który wychodzi, kiedy wynik operacji już w ogóle nie ma sensu, np. 0/0.
Zapomniałeś o denormalach. ;)

Cytuj
Taki NaN jest "po cichu" propagowany przez kolejne operacje, w przeciwieństwie do dzielenia przez zero liczb typu int, które to powoduje wywalenie się programu.
To akurat zależy od tego, jak masz skonfigurowane w swoim programie FPU.