Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <vector>
- #include <cstdint>
- #include <limits>
- using namespace std;
- int main()
- {
- //vector<int> t = { -8, -7, 3 };
- //int sum = 0;
- //for (int x : t)
- //{
- // sum += x;
- //}
- //int avg = sum / t.size();
- //cout << avg << endl;
- ////t.size() - это специальный тип, который не умеет хранить отрицательные числа (беззнаковый тип)
- //*********************************************************
- int x = 2'000'000'000;
- cout << x << " ";
- x *= 2;
- cout << x << " "; // 4 млрд в переменную типа int не поместилось
- //****************************************
- cout << sizeof(int16_t) << endl; // 16:8 = 2 размер в байтах (16 бит - 2 байта)
- cout << sizeof(int) << endl;
- int y;
- cout << sizeof(y) << endl;
- cout << numeric_limits<int>::min() << " "
- << numeric_limits<int>::max() << endl;
- cout << sizeof(long int) << endl;
- cout << numeric_limits<long int>::min() << " "
- << numeric_limits<long int>::max() << endl;
- //Особенности целочисленных типов:
- //1 Память для целочисленных типов ограничена
- //2 У них ограниченный диапазон значений
- //3 Некоторые целочисленные типы беззнаковые (экономия на отрицательных числах)
- // int стандартный целочисленный тип
- // как правило, имеет размер 4 байта (32 бита)
- // и диапазон от -2^31 до 2^31 - 1 !!!!примерно 2 млрд!!!!!
- // в конечном счете размер зависит от архитектуры
- // Классические беззнаковые типы:
- // unsigned int(unsigned) - беззнаковый аналог int
- // как правило, имеет размер 4 байта
- // и диапазон от 0 до 2^32 - 1 !!!!примерно 4 млрд!!!!!
- // size_t - тип для представления размеров
- // результат вызова size() для контейнера
- // 4 байта (до 2^32 - 1) или 8 байт (до 2^64 - 1)
- // Типы с известным размером:
- // #include<cstdint>
- // int32_t - знаковый, всегда 32 бита
- // от -2^31 до 2^31 - 1
- // uint32_t - беззнаковый, всегда 32 бита
- // от 0 до 2^32 - 1
- // int8_t // uint8_t - 8 бит
- // int16_t // uint16_t - 16 бит
- // int64_t // uint64_t - 64 бит
- //Сводная таблица типов
- // тип размер минимум максимум
- //
- // int 4(обычно) -2^31 2^31 - 1 (2млрд)
- // unsigned int 4(обычно) 0 2^32 - 1 (4млрд)
- // size_t 4 или 8 0 2^32 - 1 или 2^64 - 1
- // int8_t 1 -2^7 2^7 - 1 (128 - 1)
- // int16_t 2 -2^15 2^15 - 1 (32 768 - 1)
- // int32_t 4 -2^31 2^31 - 1 (2млрд)
- // int64_t 8 -2^63 2^63 - 1 (9,223372 × 10^18)
- //
- // uint8_t 1 0 2^8 - 1 (256)
- // uint16_t 2 0 2^16 - 1 (65 536)
- // uint32_t 4 0 2^32 - 1 (4млрд)
- // uint64_t 8 0 2^64 - 1 (1,8446744 × 10^19)
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement