Моя программа на C ++ может создавать значение до 10 ^ 16 во время выполнения, я пытался использовать для него «long long int», но это не сработало. Какой тип данных соответствует 10 ^ 16?
Спасибо;
Минимальный гарантированный максимум long long int
является 2^63 - 1
что примерно 10^19
, Это должно быть хорошо. Чтобы быть уверенным, используйте std::int_least64_t
введите от <cstdint>
, Гарантируется, что он имеет не менее 64 бит.
меньше чем 64 бита так .. долго долго должно быть хорошо ..
Пытаться int64_t
, Это должно быть достаточно долго. Но обязательно введите целочисленный литерал:
int64_t n = 10000000000000000;
Если вы говорите 1E16
, это double
литерал, и преобразование в целое число может привести к неожиданным результатам.
Без знака long long Int работает до 10 ^ 18!