ravesli/lesson_17/main.cpp

97 lines
2.5 KiB
C++
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/*
* main.cpp
*
* Created on: 8 авг. 2021 г.
* Author: alexander
*/
#include <iostream>
#include <iomanip>
using namespace std;
void floatType();
void boolType();
int main()
{
// Размер типов данных
cout << "bool:\t\t" << sizeof(bool) << " bytes" << endl;
cout << "char:\t\t" << sizeof(char) << " bytes" << endl;
cout << "wchar_t:\t" << sizeof(wchar_t) << " bytes" << endl;
cout << "char16_t:\t" << sizeof(char16_t) << " bytes" << endl;
cout << "char32_t:\t" << sizeof(char32_t) << " bytes" << endl;
cout << "short:\t\t" << sizeof(short) << " bytes" << endl;
cout << "int:\t\t" << sizeof(int) << " bytes" << endl;
cout << "long:\t\t" << sizeof(long) << " bytes" << endl;
cout << "long long:\t" << sizeof(long long) << " bytes" << endl;
cout << "float:\t\t" << sizeof(float) << " bytes" << endl;
cout << "double:\t\t" << sizeof(double) << " bytes" << endl;
cout << "long double:\t" << sizeof(long double) << " bytes" << endl;
floatType();
boolType();
return 0;
}
void floatType()
{
// Запись числа
int n(5);
double d(5.0);
float f(5.0f);
cout << "n:\t" << n << endl;
cout << "d:\t" << d << endl;
cout << "f:\t" << f << endl;
// Экспоненциальная запись чисел
{
double d1(5000.0);
double d2(5e3);
double d3(0.05);
double d4(5e-2);
cout << "d1:\t" << d1 << endl; // 5000
cout << "d2:\t" << d2 << endl; // 5000
cout << "d3:\t" << d3 << endl; // 0.05
cout << "d4:\t" << d4 << endl; // 0.05
}
// Тест
{
double d1(3.450e1);
double d2(4.000e-3);
double d3(1.23005e2);
double d4(1.46e5);
double d5(1.46000001e5);
double d6(8e-10);
double d7(3.45000e4);
cout << "d1:\t" << setprecision(4) << d1 << endl; // 34.50
cout << "d2:\t" << setprecision(4) << d2 << endl; // 0.004000
cout << "d3:\t" << setprecision(6) << d3 << endl; // 123.005
cout << "d4:\t" << setprecision(3) << d4 << endl; // 146000
cout << "d5:\t" << setprecision(9) << d5 << endl; // 146000.001
cout << "d6:\t" << setprecision(1) << d6 << endl; // 0.0000000008
cout << "d7:\t" << setprecision(6) << d7 << endl; // 34500.0
}
}
void boolType()
{
bool b1 = true; // копирующая инициализация
bool b2(false); // прямая инициализация
bool b3{true}; // uniform-инициализация (C++11)
bool b4 = false; // операция присваивания
cout << b1 << endl;
cout << b2 << endl;
cout << b3 << endl;
cout << b4 << endl;
}