4.5 Целые числа
- Любые расширенные типы целых чисел, существующие в реализации (C99 и C11 6.2.5).
GCC не поддерживает расширенные типы целых чисел.
- Представление знаковых типов целых чисел с помощью знака и абсолютного значения, дополнительного кода или кода обратного дополнения, а также является ли исключительное значение ловушкой представления или обычным значением (C99 и C11 6.2.6.2).
GCC поддерживает только целочисленные типы с дополнительным кодом, и все битовые шаблоны являются обычными значениями.
- Ранг любого расширенного типа целых чисел по отношению к другому расширенному типу целых чисел с той же точностью (C99 и C11 6.3.1.1).
GCC не поддерживает расширенные типы целых чисел.
- Результат или сигнал, генерируемый при преобразовании целого числа в знаковый целочисленный тип, когда значение не может быть представлено в объекте этого типа (C90 6.2.1.2, C99 и C11 6.3.1.3).
При преобразовании в тип шириной N значение уменьшается по модулю 2^N, чтобы быть в пределах диапазона типа; никаких сигналов не генерируется.
- Результаты некоторых побитовых операций над знаковыми целыми числами (C90 6.3, C99 и C11 6.5).
Побитовые операторы действуют на представлении значения, включая как знаковые, так и значащие биты, где знаковый бит рассматривается как непосредственно над битом с наибольшим значением. Знаковый ‘
>>’ действует над отрицательными числами путем расширения знака.GCC не использует предоставленную в C99 и C11 свободу, чтобы рассматривать определенные аспекты знакового ‘
<<’ как неопределенные, но это может измениться. - Знак остатка при целочисленном делении (C90 6.3.5).
GCC всегда следует требованию C99 и C11 о том, что результат деления усекается к нулю.
© Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
https://gcc.gnu.org/onlinedocs/gcc-4.9.4/gcc/Integers-implementation.html