logo
Подбельский Фомин_Программирование на языке СИ_

Предельные значения и типы арифметических констант.

Предельные значения и типы арифметических констант. Машинное представление (код) программы на языке Си предполагает, что каждая константа, введенная в программе, занимает в ЭВМ некоторый участок памяти. Размеры этого участка памяти и интерпретация его содержимого определяются типом соответствующей константы. В Приложении 2 приведены допустимые стандартом предельные значения для разных типов данных. Почти все компиляторы отводят символьным константам (символам) по одному байту (восемь бит). Тем самым вводится ограничение на все разнообразие символьных констант - их внутренние коды должны находиться в диапазоне от 0 до 255. В языках многих стран мира не весь набор символов (букв и знаков) может быть представлен с помощью одного байта. В настоящее время ведется систематическая международная работа по созданию многобайтового универсального кода (unicode), в рамках которого можно представлять символы почти всех алфавитов. Однако рассмотрение многобайтовых кодов в рамках настоящего пособия представляется нам преждевременным.

Для целых и вещественных констант каждая реализация компилятора с языка Си может определять свои ограничения. В табл. 1.1 приведены пределы, исходя из которых компиляторы, реализованные на IBM-совместимых ПЭВМ, выбирают типы целых констант. Например, все целые константы в диапазоне от 0 до 32767 имеют тип int, т.е. будут представлены в памяти участками в 2 байта (16 бит).

Таблица 1.1