2.3.1 Основные Типы

2.3.1 Основные Типы

В С++ есть набор основных типов, которые соответствуют наиболее общим основным единицам памяти компьютера и наиболее общим основным способам их использования:

char short int int long int

для представления целых различных размеров,

float double

для представления чисел с плавающей точкой,

unsigned char unsigned short int unsigned int unsigned long int

для представления беззнаковых целых, логических значений, битовых массивов и т.п. Для большей компактности записи можно опускать int в комбинациях из нескольких слов, что не меняет смысла. Так, long означает long int, и unsigned тип означает тип unsigned int. В общем, когда в описании опущен тип, он предполагается int. Например:

const a = 1; static x;

все определяют объект типа int.

Целый тип char наиболее удобен для хранения и обработки символов на данном компьютере, обычно это 8-битовый байт. Размеры объектов С++ выражаются в единицах размера char, потому по определению sizeof(char)==1. В зависимости от аппаратного обеспечения char является знаковым или беззнаковым целым. Тип unsigned char, конечно, всегда беззнаковый, и при его использовании получаются более переносимые программы, но из-за применения его вместо просто char могут возникать значительные потери в эффективности.

Причина того, что предоставляется более чем один целый тип, более чем один беззнаковый тип и более чем один тип с плавающей точкой, в том, чтобы дать возможность программисту воспользоваться характерными особенностями аппаратного обеспечения. На многих машинах между различными разновидностями основных типов существуют значительные различия в потребностях памяти, временах доступа к памяти и временах вычислений. Зная машину обычно легко, например, выбрать подходящий тип для конкретной переменной. Написать действительно переносимую программу нижнего уровня сложнее. Вот все, что гарантируется относительно размеров основных типов:

1==sizeof(char)«=sizeof(short)«= sizeof(int)«=sizeof(long) sizeof(float)«=sizeof(double)

Однако обычно разумно предполагать, что в char могут храниться целые числа в диапазоне 0..127 (в нем всегда могут храниться символы машинного набора символов), что short и int имеют не менее 16 бит, что int имеет размер, соответствующий целой арифметике, и что long имеет по меньшей мере 24 бита. Предполагать что-либо помимо этого рискованно, и даже эти эмпирические правила применимы не везде. Таблицу характеристик аппаратного обеспечения для некоторых машин можно найти в #с. 2.6.

Беззнаковые (unsigned) целые типы идеально подходят для применений, в которых память рассматривается как массив битов. Использование unsigned вместо int с тем, чтобы получить еще один бит для представления положительных целых, почти никогда не оказывается хорошей идеей. Попытки гарантировать то, что некоторые значения положительны, посредством описания переменных как unsigned, обычно срываются из-за правил неявного преобразования. Например:

unsigned surprise = -1;

допустимо (но компилятор обязательно сделает предупреждение).

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг:

Основные варианты и типы сетей

Из книги автора

Основные варианты и типы сетей Существует две разновидности сети: локальная (Local Area Networks, LAN) и глобальная (Wide Area Networks, WAN), причем вторая – это частный случай первой сети, только в гораздо больших масштабах.Локальная сеть представляет собой сеть из компьютеров,


Рекламные носители медийной рекламы в Интернете. Основные типы

Из книги автора

Рекламные носители медийной рекламы в Интернете. Основные типы Основными носителями медийной рекламы в интернете сегодня являются:• баннеры;• Rich-Media баннеры;• Pop-under баннеры;• баннеры-трансформеры.1. БАННЕРЫ. Обычно представляют собой прямоугольные графические


Свитки настроек Shader Basic Parameters (Основные параметры затенения) и Basic Parameters (Основные параметры)

Из книги автора

Свитки настроек Shader Basic Parameters (Основные параметры затенения) и Basic Parameters (Основные параметры) Свитки Shader Basic Parameters (Основные параметры затенения) и Basic Parameters (Основные параметры) (рис. 3.5) позволяют настраивать параметры тонированной раскраски, трех главных компонентов цвета


R.3.6.1 Основные типы

Из книги автора

R.3.6.1 Основные типы Существует несколько основных типов. В стандартном заголовочном файле ‹limits.h› задаются в зависимости от реализации минимальные и максимальные значения каждого типа.Объекты, описанные как символы (char), могут хранить любой элемент из базового набора


Типы, характеризуемые значениями, ссылочные типы и оператор присваивания

Из книги автора

Типы, характеризуемые значениями, ссылочные типы и оператор присваивания Теперь изучите следующий метод Main() и рассмотрите его вывод, показанный на рис. 3.12.static void Main(string[] args) { Console.WriteLine("*** Типы, характеризуемые значением / Ссылочные типы ***"); Console.WriteLine(-› Создание p1"); MyPoint


Типы, характеризуемые значениями и содержащие ссылочные типы

Из книги автора

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


Типы, характеризуемые значениями, и ссылочные типы: заключительные замечания

Из книги автора

Типы, характеризуемые значениями, и ссылочные типы: заключительные замечания Чтобы завершить обсуждение данной темы, изучите информацию табл. 3.8, в которой приводится краткая сводка основных отличий между типами, характеризуемыми значением, и ссылочными типами.Таблица


Резюме: основные типы данных

Из книги автора

Резюме: основные типы данных Ключевые слова      Данные основных типов вводятся в программу при помощи следующих семи ключевых слов: int, long, short, unsigned, char, float, double.


Основные типы данных

Из книги автора

Основные типы данных Ключевые слова: Основные типы данных определяются с помощью следующих семи ключевых слов: int, long, short, unsigned, char, float, double Целые со знаком: Могут иметь положительные и отрицательные значения.int: основной тип целых чисел для конкретной системы.long или long int:


4.5 Основные Типы

Из книги автора

4.5 Основные Типы Объекты, описанные как символы (char), достаточны для хранения любого элемента машинного набора символов, и если принадлежащий этому набору символ хранится в символьной перменной, то ее значение равно целому коду этого символа.В настоящий момент имеются


2.1. Основные типы документов

Из книги автора

2.1. Основные типы документов В терминах КОМПАС-3В LT любое изображение, которое можно построить средствами системы, принято называть документом. С помощью КОМПАС-3D LT можно создавать документы трех типов: детали, плоские чертежи и фрагменты. В случаях, когда идет речь о


11.2. Основные варианты и типы сетей

Из книги автора

11.2. Основные варианты и типы сетей Сегодня, как и 10 лет назад, существует два типа сети – одноранговая и на основе сервера (выделенного компьютера). Каждая из них имеет преимущества и недостатки.Одноранговая сеть понравится пользователям, которые хотят попробовать сеть


Основные типы вирусов

Из книги автора

Основные типы вирусов Итак, существует четыре основных типа вредоносных программ:? классические компьютерные вирусы;? троянские программы;? сетевые черви;? прочие вредоносные


Лекция 10. Основные понятия и типы архитектуры PKI

Из книги автора

Лекция 10. Основные понятия и типы архитектуры PKI Рассматриваются такие понятия архитектуры PKI, как путь сертификации, пункты доверия PKI, доверенный ключ. Описываются простая, иерархическая, сетевая и гибридная архитектура PKI, обсуждаются способы построения пути