Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Данные. Понятие типа данных.

Поиск

Основные типы в C++ подразделяются на две группы: целочисленные типы и типы с плавающей точкой (для краткости их будем называть плавающими типами). Это арифметические типы.

В C++ нет жёсткого стандарта на диапазоны значений арифметических типов (в стандарте языка оговариваются лишь минимально допустимые значения). В принципе, эти диапазоны определяются конкретной реализацией. Обычно выбор этих характеристик диктуется эффективностью использования вычислительных возможностей компьютера. Зависимость языка от реализации создаёт определённые проблемы переносимости. C++ остаётся машинно-зависимым языком.

К целочисленным типам относятся типы, представленные следующими именами основных типов: char, short, int, long.

Имена целочисленных типов могут использоваться в сочетании с парой модификаторов типа: signed, unsigned.

Эти модификаторы изменяют формат представления данных, но не влияют на размеры выделяемых областей памяти.

Модификатор типа signed указывает, что переменная может принимать как положительные, так и отрицательные значения. Возможно, что при этом самый левый бит области памяти, выделяемой для хранения значения, используется для представления знака. Если этот бит установлен в 0, то значение переменной считается положительным. Если бит установлен в 1, то значение переменной считается отрицательным.

Модификатор типа unsigned указывает, что переменная принимает неотрицательные значения. При этом самый левый бит области памяти, выделяемой для хранения значения, используется так же, как и все остальные биты области памяти - для представления значения.

В ряде случаев модификаторы типа можно рассматривать как имена основных типов.

Здесь также многое определяется конкретной реализацией. В версиях Borland C++ данные типов, обозначаемых как signed, short и int в памяти занимают одно и то же количество байтов.

Особое место среди множества основных целочисленных типов занимают перечисления, которые обозначаются ключевым словом enum. Перечисления представляют собой упорядоченные наборы целых значений. Они имеют своеобразный синтаксис и достаточно специфическую область использования. Их изучению будет посвящён специальный раздел.

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

Тип данных Байты Биты Min Max
signed char     - 128  
unsigned char        
signed short     -32768  
enum     -32768  
unsigned short        
signed int     -32768  
unsigned int        
signed long     -2147483648  
unsigned long        

К плавающим типам относятся три типа, представленные следующими именами типов, модификаторов и их сочетаний:

· float

· double

· long double

Как и ранее, модификатор типа входит в число имён основных типов.

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

297.7

2.977*10**2

2.977E2

и ещё один пример…

0.002355

2.355*10**-3

2.355E-3

В научной нотации слева от символа E записывается мантисса, справа - значение экспоненты, которая всегда равняется показателю степени 10.

Для хранения значений плавающих типов в памяти используется специальный формат представления вещественных чисел. Этот формат называется IEEE форматом.

Ниже представлены основные характеристики типов данных с плавающей точкой (опять же для Borland C++ 4.5):

Тип данных Байты Биты Min Max
float     3.4E-38 3.4E+38
double     1.7E-308 1.7E+308
long double     3.4E-4932 3.4E+4932

 

Имя Размер Представляемые значения Диапазон
bool 1 байт логические false, true
(signed) char 1 байт символы целые числа от –128 до 127
wchar_t 2 байта символы Unicode от 0 до 65535
(signed) short int 2 байта целые числа от -32768 до 32767
(signed) int зависит от реализации (в последних компиляторах обычно 4 байта) целые числа  
(signed) long int 4 байта целые числа от -2147483648 до 2147483647
(signed) long long int (signed) __int64 (MS) 8 байт целые числа от –9,223,372,036,854,775,808 до 9,223,372,036,854,775,807
unsigned char 1 байт символы целые числа от 0 до 255
unsigned short int 2 байта целые числа 0 до 65535
unsigned int зависит от реализации (в последних компиляторах обычно 4 байта) целые числа  
unsigned long int 4 байта целые числа от 0 до 4294967295
(unsigned) long long int (unsigned) __int64 (MS) 8 байт целые числа от 0 до 18,446,744,073,709,551,615
float 4 байта вещественные числа от 1.175494351e–38 до 3.402823466e+38
double 8 байт вещественные числа от 2.2250738585072014e–308 до 1.7976931348623158e+308
long double зависит от реализации вещественные числа  

 



Поделиться:


Последнее изменение этой страницы: 2017-02-21; просмотров: 381; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.191.70.200 (0.006 с.)