Unitils делает этот w/статический метод assertRefEquals
.
Yes GCC does support long long int
, which is a part of C99 standard.
The standard does not mandate its size in bits, but required values of LLONG_MIN
and LLONG_MAX
in
imply it's at least 64-bit (exact 64-bit wide integer types are int64_t
/uint64_t
from
).
LLONG_MIN
must be at most -9223372036854775807
LLONG_MAX
must be at least 9223372036854775807
long long int
является частью стандарта C99, и я знаю, что GCC его поддерживает. И теперь я могу это доказать.
На моей 32-битной машине
int main()
{
printf("%d\n", sizeof(long long int));
return 0;
}
, скомпилированный с помощью gcc
, выводит 8 (8 байт * 8 бит / байт = 64 бита).
Да, long long
является частью C99, а также константы long long
( 10222333444555LL
) и небольшая поддержка элементы. ( LLONG_MAX
, llrint (d)
, llround (d)
, некоторые другие.) И gcc уже некоторое время реализует его.
In order to print long long int variables:
long long int lli = 100000000;
printf("%lld\n", lli);
длинные длинные позиции хорошо поддерживаются, и уже давно [извините]. Насколько я понимаю, это должно было быть 128 бит на 64-битных платформах, но из соображений совместимости / переносимости в GCC стандартизована 64-битная ширина.
См. Также: (u) int128_t, и это обсуждение поддержки 128-битных целых чисел в GCC
Да GCC поддерживает long long int
, который является частью стандарта C99.
Стандарт не указывает размер в битах, но требуемые значения LLONG_MIN
и LLONG_MAX
в
подразумевают, что это как минимум 64 -bit ( точные 64-битные целочисленные типы: int64_t
/ uint64_t
из
).
LLONG_MIN
должно быть не более -9223372036854775807
LLONG_MAX
должно быть не менее 9223372036854775807
long long int
тоже подойдет, но я лично никогда раньше не видел 64-битных переменных, объявленных таким образом.