Подразделы

Другие разделы

Дата и время

04/05/2024 07:50:42

Авторизация

Имя:
Пароль:
Зарегистрироваться
Восстановить пароль
 

printТипы для целочисленных данных

Тип целых чисел в общем случае включает подмножество целых чисел, определяемое числом разрядов, которое используется для внутреннего представления значений.
При определении типа целых чисел обычно стремятся к тому, чтобы множество его значений было симметрично относительно нуля (собственно, это стимулируется и стандартными свойствами машинной целочисленной арифметики). Поэтому приходится тратить один бит на значение знака числа и при использовании n бит для внутреннего представления целого соответствующий тип содержит значения в диапазоне от `-2^{n-1}` до `2^{n-1}`.
В подавляющем большинстве современных процессоров отрицательные целые числа обычно представляют в дополнительном коде.

В языках, ориентированных на 32-разрядные компьютеры, в частности, в стандартных Си и Си++ для рационального использования памяти допускаются модификации целого типа short int (обычно 16-разрядные), int (обычно то же самое, что и long int) и long int (обычно 32-разрядные), а также байтовые целые (char).

При этом поддерживаются автоматические преобразования значений типов меньшего размера к значениям типов большего размера.
Пока не очень понятно, какие встроенные целые типы будут зафиксированы в будущем "64-разрядном" стандарте языка Си, но многие компании считают разумным использовать модель под названием LP64, в которой предполагается размер char – 8 бит, размер short int – 16 бит, размер int – 32 бита и размер long int и long long int – 64 бита.

Наряду со знаковыми целыми типами в языках часто поддерживаются беззнаковые целые. Такие типы в линии языков Паскаль называются CARDINAL, а в линии языков Си именуются путем добавления модификатора unsigned к названию соответствующего целого типа. Таким образом, в последнем случае существуют типы unsigned char, unsigned short int, unsigned int и unsigned long int. Поскольку множество значений типа unsigned в два раза мощнее множества значений соответствующего целого типа, то поддерживается их автоматическое преобразование только к целым типам большего размера.
loading