• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

dziwne zachowanie zmiennych float

0 głosów
304 wizyt
pytanie zadane 5 grudnia 2018 w Java przez kvbq Obywatel (1,490 p.)
Natrafiłem na dziwne zachowanie się zmiennych float. W np takim działaniu jak potęgowanie dla 0,4*0,4 wynik to około 0,160001 chociaż przecież powinno wyjść 0,16 tak samo dla np 0,7 a już dla 0,5 wszytko działa poprawnie. W skrócie float dodaje jakąś 100000 część do niektórych wyników chociaż to nie powinno się dziać.

2 odpowiedzi

+2 głosów
odpowiedź 5 grudnia 2018 przez adrian17 Mentor (354,880 p.)
wybrane 6 grudnia 2018 przez kvbq
+3 głosów
odpowiedź 5 grudnia 2018 przez Snejki Stary wyjadacz (14,520 p.)
edycja 5 grudnia 2018 przez Snejki
Jest to spowodowane sposobem zapisu liczby float.

Liczba float jest reprezentowana przez standard binarny IEE754, czyli w uproszczeniu przy użyciu kodu binarnego.

Jak wiemy, w reprezentacji binarnej nie jesteśmy w stanie zapisać niektórych części ułamkowych, np nie jesteśmy w stanie zapisać 0.1. W zamian za nią będzie zapisana najbliższa jej liczba możliwa do zapisania w kodzie binarnym, czyli dla 0.1 jest to 0.00011001100 binarnie, które w rzeczywistości jest równe 0.099609375 dziesiętnie.
komentarz 5 grudnia 2018 przez Benek Szeryf (93,370 p.)
Twoje wyjaśnienie dla laika i tak będzie nadal niejasne.

Podobne pytania

0 głosów
0 odpowiedzi 144 wizyt
pytanie zadane 13 lutego 2019 w PHP przez Grzegorz Mikina Dyskutant (8,060 p.)
0 głosów
1 odpowiedź 455 wizyt
pytanie zadane 27 czerwca 2018 w C# przez DODO Bywalec (2,950 p.)
0 głosów
0 odpowiedzi 156 wizyt
pytanie zadane 11 marca 2019 w C i C++ przez Yerba Nowicjusz (150 p.)

93,692 zapytań

142,611 odpowiedzi

323,220 komentarzy

63,220 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...