Coś prostego – udowadniamy niedokładność liczb zmiennoprzecinkowych

Zacznijmy od tego, czym są liczby zmiennoprzecinkowe. W programowaniu, jeżeli chcemy użyć liczb dziesiętnych, nie możemy zastosować typu int. Kod:

int a = 3; int b = 2;
return a/b;

nie zwróci nam jak oczekujemy wartości 1,5 tylko jeden. Nie działa tu zaokrąglanie, wynik 1.999999999999999999… zostanie zapisany w pamięci jako 1. Programiści by uniknąć tego typu trudności stosują inne zmienne: float (single precision – typ pojedynczej precyzji, dokładność do 7 cyfr po przecinku), double (double precision – typ podwójnej precyzji, dokładność do 15 cyfr po przecinku) Czytaj dalej

Reklamy