Liczby zmiennoprzecinkowe: f32 i f64
Pracuj z liczbami ułamkowymi.
Liczby zmiennoprzecinkowe: f32 i f64 to bezpłatna lekcja Zig Academy na CoddyKit. To lekcja 2 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Zig Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Zig Academy zawiera 4 lekcji w sumie.
Liczby z częścią ułamkową
Gdy potrzebujesz liczb dziesiętnych, Zig oferuje typy zmiennoprzecinkowe. Przechowują one wartości ułamkowe, takie jak 3.14, a nie tylko liczby całkowite.
f64 to częsty wybór
Typ f64 przechowuje zmiennoprzecinkową liczbę podwójnej precyzji, używając 64 bitów. Jest zwykle wybierany wtedy, gdy potrzebujesz dokładności i szerokiego zakresu.
const pi: f64 = 3.14159;f32 oszczędza pamięć kosztem precyzji
Typ f32 używa 32 bitów. Oszczędza pamięć i może działać szybciej, ale przechowuje mniej cyfr znaczących niż f64.
const ratio: f32 = 0.5;Zig ma więcej szerokości typów zmiennoprzecinkowych
Oprócz f32 i f64 Zig obsługuje także f16 oraz f128. Wybiera się szerokość, która zapewnia odpowiedni kompromis między precyzją, pamięcią i szybkością.
Literały zmiennoprzecinkowe wymagają kropki
Literał zmiennoprzecinkowy zawiera kropkę dziesiętną, na przykład 2.0. Samo 2 oznacza liczbę całkowitą, czyli inny rodzaj wartości.
const half = 0.5;
const one = 1.0;Notacja naukowa również działa
Bardzo duże lub małe liczby zmiennoprzecinkowe można zapisywać za pomocą wykładnika. Zapis 1.5e3 oznacza 1.5 razy dziesięć do potęgi trzeciej, czyli 1500.
const big: f64 = 1.5e3;Działania na liczbach zmiennoprzecinkowych
Na liczbach zmiennoprzecinkowych działają zwykłe operatory. Dzielenie dwóch takich liczb zachowuje część ułamkową, zamiast ją odrzucać.
const result: f64 = 7.0 / 2.0; // 3.5Liczby zmiennoprzecinkowe są przybliżone
Liczby zmiennoprzecinkowe nie potrafią dokładnie przechować każdej liczby dziesiętnej. Niewielkie błędy zaokrągleń sprawiają, że 0.1 plus 0.2 może nie być dokładnie równe 0.3.
Porównuj z tolerancją
Z powodu zaokrągleń unikaj sprawdzania dokładnej równości liczb zmiennoprzecinkowych. Zamiast tego sprawdzaj, czy różnica jest mniejsza od bardzo małego progu.
const close = @abs(a - b) < 0.0001;Konwertowanie liczby całkowitej na zmiennoprzecinkową
Aby zamienić liczbę całkowitą na zmiennoprzecinkową, trzeba jawnie użyć @floatFromInt. Zig nigdy nie miesza po cichu tych dwóch rodzajów liczb.
const n: i32 = 10;
const f: f64 = @floatFromInt(n);Specjalne wartości zmiennoprzecinkowe
Liczby zmiennoprzecinkowe mogą również reprezentować nieskończoność oraz wartość niebędącą liczbą. Pojawiają się one między innymi w wyniku dzielenia przez zero, a biblioteka standardowa nadaje im nazwy.
Szybkie sprawdzenie
Dzielisz jedną liczbę zmiennoprzecinkową przez drugą i chcesz zachować wynik ułamkowy. Co jest prawdą o działaniach zmiennoprzecinkowych w Zig?
Podsumowanie
Używaj f64 dla ogólnych liczb dziesiętnych, a f32, gdy chcesz oszczędzać pamięć. Pamiętaj, że liczby zmiennoprzecinkowe są przybliżone, dlatego porównuj je z tolerancją i rzutuj jawnie. 🎯
Ucz się Zig dzięki korepetycjom AI — za darmo
Pisz i uruchamiaj kod w przeglądarce, otrzymuj natychmiastową pomoc od korepetytora AI dostępnego 24/7 i kontynuuj naukę w sieci lub w aplikacji.
- Kursy
- 30
- Lekcje
- 120
Często zadawane pytania
Czy lekcja „Liczby zmiennoprzecinkowe: f32 i f64” jest bezpłatna?
Tak — pełny tekst „Liczby zmiennoprzecinkowe: f32 i f64” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Zig Academy, przejdź na CoddyKit PRO. Kurs Zig Academy zawiera 4 lekcji w sumie.
Co nauczysz się w „Liczby zmiennoprzecinkowe: f32 i f64”?
Pracuj z liczbami ułamkowymi. Ćwiczysz Zig Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć Zig Academy?
Nie wymagamy żadnego doświadczenia. Zig Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 2 z 4.
Ile czasu zajmuje lekcja „Liczby zmiennoprzecinkowe: f32 i f64”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji Zig Academy?
Tak. Każda lekcja Zig Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Liczby całkowite o określonym rozmiarze: i32, u8, usize
- Liczby zmiennoprzecinkowe: f32 i f64
- bool, void i typy comptime
- Literały liczbowe i podkreślenia