Typy reprezentujące liczby zmiennoprzecinkowe w C++

W języku C++ liczby zmiennoprzecinkowe są używane do reprezentowania liczb, które mają część dziesiętną. Najczęściej stosowane typy do przechowywania liczb zmiennoprzecinkowych to float, double oraz long double. Każdy z tych typów różni się precyzją oraz ilością pamięci, jaką zajmuje w systemie.

  • float – zajmuje zazwyczaj 4 bajty pamięci i oferuje precyzję do około 7 cyfr po przecinku.
  • double – zajmuje zazwyczaj 8 bajtów pamięci i oferuje precyzję do około 15 cyfr po przecinku. Jest najczęściej używanym typem zmiennoprzecinkowym.
  • long double – zajmuje zazwyczaj 10, 12 lub 16 bajtów pamięci (w zależności od systemu) i zapewnia jeszcze większą precyzję.

W poniższym przykładzie napiszemy program, który pokaże, jak deklarować zmienne zmiennoprzecinkowe w C++ i jak na nich operować.

Przykład kodu – Typy zmiennoprzecinkowe w C++

Stwórz plik o nazwie floating_point.cpp i wklej do niego poniższy kod:

// Importujemy bibliotekę iostream, która pozwala na operacje wejścia/wyjścia
#include <iostream>

// Główna funkcja programu
int main() {
    // Deklarujemy zmienną typu float i przypisujemy jej wartość 3.14
    float pi_float = 3.14f; // Sufiks 'f' oznacza, że jest to typ float

    // Deklarujemy zmienną typu double i przypisujemy jej wartość 3.14159265358979
    double pi_double = 3.14159265358979;

    // Deklarujemy zmienną typu long double i przypisujemy jej wartość 3.14159265358979323846
    long double pi_long_double = 3.14159265358979323846L; // Sufiks 'L' oznacza, że jest to typ long double

    // Wyświetlamy wartości zmiennych
    std::cout << "Wartosc pi jako float: " << pi_float << std::endl; // Wyświetla wartość zmiennej 'pi_float'
    std::cout << "Wartosc pi jako double: " << pi_double << std::endl; // Wyświetla wartość zmiennej 'pi_double'
    std::cout << "Wartosc pi jako long double: " << pi_long_double << std::endl; // Wyświetla wartość zmiennej 'pi_long_double'

    // Operacje arytmetyczne na liczbach zmiennoprzecinkowych
    float a = 5.75f; // Deklaracja i inicjalizacja zmiennej typu float
    float b = 2.5f;  // Deklaracja i inicjalizacja drugiej zmiennej typu float

    float sum = a + b;        // Dodawanie
    float difference = a - b; // Odejmowanie
    float product = a * b;    // Mnożenie
    float quotient = a / b;   // Dzielenie

    // Wyświetlanie wyników operacji
    std::cout << "Suma: " << sum << std::endl; // Wyświetla wynik dodawania
    std::cout << "Różnica: " << difference << std::endl; // Wyświetla wynik odejmowania
    std::cout << "Iloczyn: " << product << std::endl; // Wyświetla wynik mnożenia
    std::cout << "Iloraz: " << quotient << std::endl; // Wyświetla wynik dzielenia

    // Zwracamy 0, co oznacza, że program zakończył się pomyślnie
    return 0;
}

Wyjaśnienie

Ten program pokazuje, jak zadeklarować zmienne zmiennoprzecinkowe różnych typów (float, double i long double) oraz jak na nich operować.

  • Najpierw program deklaruje trzy zmienne (pi_float, pi_double i pi_long_double) i przypisuje im różne wartości liczby Pi. Każda z tych zmiennych jest innego typu: float, double i long double.
  • Następnie wyświetla ich wartości, co pokazuje różnicę w precyzji, z jaką różne typy zmiennoprzecinkowe przechowują liczby.
  • W dalszej części program wykonuje podstawowe operacje arytmetyczne na liczbach zmiennoprzecinkowych (a i b): dodawanie, odejmowanie, mnożenie oraz dzielenie. Wyniki tych operacji są wyświetlane na ekranie.

Warto zauważyć, że w przypadku deklarowania zmiennych typu float i long double dodaliśmy odpowiednio sufiksy f i L, które wskazują, że mamy do czynienia z tymi konkretnymi typami zmiennoprzecinkowymi. Jeśli nie użyjemy tych sufiksów, kompilator domyślnie zinterpretuje liczbę jako double.

 

 

Scroll to Top