float type and its usage in C++

c plus plus

The provided C++ code is a demonstration of how to use and display floating point numbers in different formats using the iostream and iomanip libraries.

#include <iostream>
#include <iomanip>
using namespace std;

int main() {
    float f = 3.14159;
    float g = .4;
    float h = 3.14e-2;
    float i = 3.14e2;
    float j = 3.14e+2;

    cout << "f: " << f << endl;
    cout << "g: " << g << endl;
    cout << "h: " << h << endl;
    cout << "i: " << i << endl;
    cout << "j: " << j << endl;

    cout << "f (precision 10): " << setprecision(10) << f << endl;
    cout << "g (precision 10): " << setprecision(10) << g << endl;
    cout << "h (precision 10): " << setprecision(10) << h << endl;
    cout << "i (precision 10): " << setprecision(10) << i << endl;
    cout << "j: " << setprecision(10) << j << endl;

    cout << "f (scientific): " << scientific << f << endl;
    cout << "g (scientific): " << scientific << g << endl;
    cout << "h (scientific): " << scientific << h << endl;
    cout << "i (scientific): " << scientific << i << endl;
    cout << "j (scientific): " << scientific << j << endl;

    cout << "f (fixed): " << fixed << f << endl;
    cout << "g (fixed): " << fixed << g << endl;
    cout << "h (fixed): " << fixed << h << endl;
    cout << "i (fixed): " << fixed << i << endl;
    cout << "j (fixed): " << fixed << j << endl;

    cout << "f (precision 10 and scientific): " << setprecision(10) << scientific << f << endl;
    cout << "g (precision 10 and scientific): " << setprecision(10) << scientific << g << endl;
    cout << "h (precision 10 and scientific): " << setprecision(10) << scientific << h << endl;
    cout << "i (precision 10 and scientific): " << setprecision(10) << scientific << i << endl;

    cout << "f (precision 10 and fixed): " << setprecision(10) << fixed << f << endl;
    cout << "g (precision 10 and fixed): " << setprecision(10) << fixed << g << endl;
    cout << "h (precision 10 and fixed): " << setprecision(10) << fixed << h << endl;
    cout << "i (precision 10 and fixed): " << setprecision(10) << fixed << i << endl;

    cout << "f (precision 10, scientific and uppercase): " << setprecision(10) << scientific << uppercase << f << endl;
    cout << "g (precision 10, scientific and uppercase): " << setprecision(10) << scientific << uppercase << g << endl;
    cout << "h (precision 10, scientific and uppercase): " << setprecision(10) << scientific << uppercase << h << endl;
    cout << "i (precision 10, scientific and uppercase): " << setprecision(10) << scientific << uppercase << i << endl;


    return 0;
}

Explanation

The provided C++ code is a demonstration of how to use and display floating point numbers in different formats using the iostream and iomanip libraries.

Initially, five floating point variables f, g, h, i, and j are declared and assigned different values. These variables are then printed to the console using the cout object.

float f = 3.14159;
// ... other variable declarations
cout << "f: " << f << endl;
// ... other print statements

The code then uses the setprecision function from the iomanip library to control the number of digits displayed when the floating point numbers are printed. The setprecision(10) call sets the precision to 10 digits.

cout << "f (precision 10): " << setprecision(10) << f << endl;
// ... other print statements

The scientific and fixed manipulators are then used to change the format in which the floating point numbers are displayed. The scientific manipulator causes the number to be displayed in scientific notation, while the fixed manipulator causes the number to be displayed in fixed-point notation.

cout << "f (scientific): " << scientific << f << endl;
// ... other print statements
cout << "f (fixed): " << fixed << f << endl;
// ... other print statements

Finally, the uppercase manipulator is used in conjunction with the scientific manipulator to display the numbers in scientific notation with an uppercase ‘E’.

cout << "f (precision 10, scientific and uppercase): " << setprecision(10) << scientific << uppercase << f << endl;
// ... other print statements

In summary, this code demonstrates various ways to control the display of floating point numbers in C++.

Output

f: 3.14159
g: 0.4
h: 0.0314
i: 314
j: 314
f (precision 10): 3.141590118
g (precision 10): 0.400000006
h (precision 10): 0.03139999881
i (precision 10): 314
j: 314
f (scientific): 3.1415901184e+00
g (scientific): 4.0000000596e-01
h (scientific): 3.1399998814e-02
i (scientific): 3.1400000000e+02
j (scientific): 3.1400000000e+02
f (fixed): 3.1415901184
g (fixed): 0.4000000060
h (fixed): 0.0313999988
i (fixed): 314.0000000000
j (fixed): 314.0000000000
f (precision 10 and scientific): 3.1415901184e+00
g (precision 10 and scientific): 4.0000000596e-01
h (precision 10 and scientific): 3.1399998814e-02
i (precision 10 and scientific): 3.1400000000e+02
f (precision 10 and fixed): 3.1415901184
g (precision 10 and fixed): 0.4000000060
h (precision 10 and fixed): 0.0313999988
i (precision 10 and fixed): 314.0000000000
f (precision 10, scientific and uppercase): 3.1415901184E+00
g (precision 10, scientific and uppercase): 4.0000000596E-01
h (precision 10, scientific and uppercase): 3.1399998814E-02
i (precision 10, scientific and uppercase): 3.1400000000E+02

Process finished with exit code 0

Leave a Reply

Your email address will not be published. Required fields are marked *