long int
- это просто полная форма long
, отличная от, например, unsigned long int
и так далее. Это не ново в C ++ 0x.
long long
часто встречается в компиляторах уже сегодня; для совместимости обычно long
и int
являются 32-битными даже на 64-битных архитектурах; long long
указывает 64-битные в таких обстоятельствах; его часть C99 и должна быть не менее 64 бит в соответствии с этим стандартом.
Вы также можете получить 128-битные типы данных на некоторых компиляторах, используя long long long
; другие компиляторы предоставляют такие числа, используя атрибуты (например, GCC имеет __attribute__((__mode__(__TI__))))
), а большинство имеют <limits.h>
, который имеет __int128_t
/ __uint128_t
.