если размер этого типа также
или, если размер этого типа также оказывается недостаточен, типом
unsigned long. В таблице 1.5 показаны диапазоны значений констант различных типов для компьютера, на котором тип
int
имеет длину 16 битов и тип
long имеет длину 32 бита.
Таблица1.5.
Десятичные константы
|
Восьмеричные константы
|
Шестнадцатеричные константы
|
Тип
|
0—32767
|
0—077777
|
0х0—0x7FFF
|
int
|
|
0100000—0177777
|
0х8000—0xFFFF
|
unsigned int
|
32767—2147483647
|
02000001—017777777777
|
0х10000—0x7FFFFFFF
|
long
|
|
020000000000—030000000000
|
0х80000000—0xFFFFFFFF
|
unsigned long
|
Из рассмотренных правил следует, что при преобразовании восьмеричных и шестнадцатеричных констант к более длинным типам не производится расширения знака (поскольку старший, знаковый бит всегда равен нулю).
Программист может явно определить для любой целой константы тип
long, записав букву "
l" или "
L"
в конец константы. Это позволяет расширить нижнюю границу диапазона значений констант любого типа до нуля. Например, константа со значением 10 будет иметь тип
long только в том случае, если она будет записана с суффиксом
L, т. е. 10L. В таблице 1.6 приведены примеры длинных целых констант.
Таблица 1.6.
Десятичные константы
|
Восьмеричные константы
|
Шестнадцатеричные константы
|
12L
|
012L
|
0xaL или 0xAL
|
0l
|
0115l
|
0х4fl или 0x4Fl
|
В СП ТС
реализован также суффикс
U (или
u), означающий, что константа имеет тип
unsigned. Можно использовать одновременно оба суффикса —
L и
U — для одной и той же константы. Кроме того, в СП ТС константе присваивается тип
unsigned long, если ее значение превышает
65535, независимо от наличия или отсутствия суффикса
U (в СП MSC в этом случае константе был бы присвоен тип
long).
Содержание Назад Вперед
Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий