Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
это то что у меня есть в электронном виде.docx
Скачиваний:
1
Добавлен:
23.04.2019
Размер:
141.72 Кб
Скачать

Целые константы

Синтаксис: цифры

0цифры

0xцифры

0Xцифры

"Целая константа" это десятичное, восьмеричное или шестнадцатеричное число, которое представляет собой целое значение в одной из следующих форм:

  • "Десятичная константа" имеет форму одной или нескольких цифр (от 0 до 9), первая из которых не ноль.

  • "Восьмеричная константа" имеет форму 0цифры, где цифры это одно или нескольких восьмеричных цифр (от 0 до 7), первая из которых ноль.

  • "Шестнадцатеричная константа" имеет форму 0xцифры или 0Xцифры, где цифры это одно или нескольких шестнадцатеричных цифр (от 0 до 9 и прописные или строчные буквы от a до f), указание 0x или 0X обязательно.

Нельзя разделять цифры в целых константах разделительными цифрами.

В Таблице 2.5 приведены примеры трех форм целых констант.

Таблица 2.5. Примеры целых констант

Десятичные Восьмеричные Шестнадцатеричные

10 012 0xa или 0xA

132 0204 0x84

32179 076663 0x7db3 или 0x7DB3

Целые константы всегда имеют положительные значения. Если нужно использовать отрицательное значение, то поместите знак минус (-) перед константой для формирования выражения с отрицательным значением. (В данном случае знак минус интерпретируется как унарный арифметический оператор отрицания.)

Каждой целой константе на основании ее значения присваивается соответствующий тип. Тип константы определяет, какие преобразования будут выполнены при использовании константы в выражении или использовании знака минус (-). Можно сформулировать следующие правила:

  • Десятичные константы рассматриваются как величины со знаками и имеют тип int или long, если этого требует величина значения.

  • Восьмеричные и шестнадцатеричные константы в зависимости от размера имеют тип int, unsigned int, long или unsigned long. Если константа может быть представлена, как int, то ей присваивается тип int. Если она больше, чем может хранится в int, но она может быть представлена тем же числом бит, что и int, то ей присваивается тип unsigned int. Аналогично, если константа не размещается в unsigned int, то ей присваивается тип long, или unsigned long при необходимости.

В Таблице 2.6 показаны диапазоны значений соответствующих типов для восьмеричных и шестнадцатеричных констант для машины, в которой для типа int выделяется 16 бит.

Таблица 2.6. Типы, присваиваемые восьмеричным и

шестнадцатеричным константам

Шестнадцатеричные Восьмеричные Тип

0x0-0x7FFF 0-077777 int

0x8000-0xFFFF 0100000-0177777 unsigned int

0x10000-0x7FFFFFFF 0200000-017777777777 long

0x80000000-0xFFFFFFFF 020000000000-037777777777 unsigned long

Последовательность непосредственного ввода значений по Таблице 2.6 состоит в том, что шестнадцатеричные и восьмеричные константы всегда дополняются нулями при их преобразовании в в более емкий тип. (Дополнительная информация по преобразованию типа содержится в главе "Выражения и присвоения".

Можно форсировать целую константу в тип long, указав в конце букву l или L. В Таблице 2.7 показаны некоторые формы целых констант long.

Таблица 2.7. Примеры целых констант long

Десятичные Восьмеричные Шестнадцатеричные

10L 012L 0xaL или 0xAL

79l 0115l 0x4fl или 0x4Fl

Типы описаны в главе "Объявления", а преобразования описаны в главе "Выражения и присвоения".