GCC поддерживает долгое длинное целое?

Unitils делает этот w/статический метод assertRefEquals.

14
задан ThinkingStiff 7 February 2013 в 00:27
поделиться

7 ответов

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 ).

  1. LLONG_MIN must be at most -9223372036854775807
  2. LLONG_MAX must be at least 9223372036854775807
32
ответ дан 1 December 2019 в 05:54
поделиться

long long int является частью стандарта C99, и я знаю, что GCC его поддерживает. И теперь я могу это доказать.

10
ответ дан 1 December 2019 в 05:54
поделиться

На моей 32-битной машине

int main()
{
    printf("%d\n", sizeof(long long int));
    return 0;
}

, скомпилированный с помощью gcc , выводит 8 (8 байт * 8 бит / байт = 64 бита).

8
ответ дан 1 December 2019 в 05:54
поделиться

Да, long long является частью C99, а также константы long long ( 10222333444555LL ) и небольшая поддержка элементы. ( LLONG_MAX , llrint (d) , llround (d) , некоторые другие.) И gcc уже некоторое время реализует его.

5
ответ дан 1 December 2019 в 05:54
поделиться

In order to print long long int variables:

long long int lli = 100000000;

printf("%lld\n", lli);
5
ответ дан 1 December 2019 в 05:54
поделиться

длинные длинные позиции хорошо поддерживаются, и уже давно [извините]. Насколько я понимаю, это должно было быть 128 бит на 64-битных платформах, но из соображений совместимости / переносимости в GCC стандартизована 64-битная ширина.

См. Также: (u) int128_t, и это обсуждение поддержки 128-битных целых чисел в GCC

5
ответ дан 1 December 2019 в 05:54
поделиться

Да GCC поддерживает long long int , который является частью стандарта C99.

Стандарт не указывает размер в битах, но требуемые значения LLONG_MIN и LLONG_MAX в подразумевают, что это как минимум 64 -bit ( точные 64-битные целочисленные типы: int64_t / uint64_t из ).

  1. LLONG_MIN должно быть не более -9223372036854775807
  2. LLONG_MAX должно быть не менее 9223372036854775807
-121 --- 24242227] [1120], что обычно 1120699] unsigned long long - традиционное представление 64-битного целого числа. Я предполагаю, что long long int тоже подойдет, но я лично никогда раньше не видел 64-битных переменных, объявленных таким образом.

2
ответ дан 1 December 2019 в 05:54
поделиться