Spec-Zone.ru › GCC 15

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

    Побитовые операторы применяются к представлению значения, включая как знаковый разряд, так и разряды значения; знаковый разряд считается непосредственно выше старшего разряда значения. Оператор ‘>>’ для отрицательных чисел выполняет расширение знака.

    В качестве расширения языка C GCC не использует разрешение, предоставленное C99 и C11, которое позволяет считать неопределёнными лишь некоторые аспекты операции ‘<<’ над числами со знаком. Однако -fsanitize=shift (и -fsanitize=undefined) диагностируют такие случаи. Они также диагностируются там, где требуются константные выражения.

  • Знак остатка при целочисленном делении (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-15.3.0/gcc/Integers-implementation.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API