int C++ целочисленный тип данных

Тип int предназначен для представления целых чисел.

Тип int обычно занимает 32 бита (4 байта). Размер можно узнать командой


std::cout << sizeof(int);   //4 (байта)

Диапазон представляемых значений типом int:
int от -2 147 483 648 до 2 147 483 647
unsigned int от 0 до 4 294 967 295


#include <iostream> // cout
#include <limits>   // numeric_limits
using namespace std;
int main(){
    cout << numeric_limits<int>::min() << endl; //-2147483648   Минимальное число int
    cout << numeric_limits<int>::max() << endl; //2147483647   Максимальное число int
    cout << numeric_limits<unsigned int>::min() << endl; //0   Минимальное число unsigned int
    cout << numeric_limits<unsigned int>::max() << endl; //4294967295   Максимальное число unsigned int
}

Преобразования int


#include <iostream> // stoi(), stoul(), to_string()
#include <cstring>  // strcpy()
int main(){
    int i1 = std::stoi("15");            // const char* to int
    unsigned int ui1 = std::stoul("15"); // const char* to unsigned int

    const char* cpi = "23";              // const char*
    int i2 = std::stoi(cpi);             // const char* to int
    unsigned int ui2 = std::stoul(cpi);  // const char* to unsigned int

    std::string str = "10";              // std::string
    int i3 = std::stoi(str);             // std::string to int
    unsigned int ui3 = std::stoul(str);  // std::string to unsigned int

    std::string s1 = std::to_string(i3); // int to std::string

    const char* cch = std::to_string(i3).c_str(); // int to const char*

    // Корректно преобразовывать const char* в char* можно только если полученная строка не будет меняться (будет readonly)
    char* ch = (char*)std::to_string(i3).c_str(); // int to char* C-style
    ch = const_cast<char*>(std::to_string(i3).c_str()); // int to char* C++ style

    // Преобразование float в char* который можно изменять
    std::string st = std::to_string(i3);   // int to std::string
    char* buf = new char[st.length() + 1]; // Создаем буфер достаточной длины
    std::strcpy(buf, st.c_str());          // Преобразовываем std::string в const char* и копируем в char*

    char c = i3;        // int to char
    short s = i3;       // int to short
    long l = i3;        // int to long
    long long ll = i3;  // int to long long
    float f = i3;       // int to float
    double d = i3;      // int to double

    int i = c;          // char to int
    i = s;              // short to int
    i = l;              // long to int
    i = ll;             // long long to int
    i = f;              // float to int
    i = d;              // double to int
}
2023-10-22



Понравилась страница?
Добавить в закладки
Или поделиться!

Связанные темы

char символьный тип данных в С++ длиной 1 байт
char16_t символьный беззнаковый тип данных длиной 16 бит в С++11
char32_t символьный беззнаковый тип данных длиной 32 бит в С++11
char8_t символьный тип данных в С++20
Типы данных C++
double - тип данных для представления вещественных чисел двойной точности
enum перечисление С++
float C++ представление вещественных данных с одинарной точностью
int C++ целочисленный тип данных
Целочисленные типы С++ long и long long
short С++ целочисленный тип данных
signed C++ модификатор знакового целочисленного типа
typedef C++ создание псевдонимов для типов данных
typeid C++ определение типа данных
union C++ объединение переменных разных типов в общей памяти
unsigned С++ беззнаковые числа
void C++ для функций не возвращающих значений или задания пустого указателя
wchar_t С++ расширенный набор символов и строк