Это зависит от системы. Стандарт C ++ только гарантирует, что минимальный размер для long long int
будет 64-разрядным . Это также самый распространенный размер.
При 64-битном размере максимальное число, которое может быть представлено, будет 2^63 - 1
, что равно 9223372036854775807
. Причина такого точного размера в том, что нам нужна половина битовых комбинаций для отрицательных чисел, затем одна для 0
, а остальная часть для положительных чисел.
Максимальное значение в конкретной системе также можетпроверяться программно с помощью:
#include <iostream>
#include <limits>
int main() {
std::cout << std::numeric_limits<long long int>::max();
}
Вывод:
9223372036854775807