Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекция 7 Простые типы данных.doc
Скачиваний:
3
Добавлен:
03.11.2018
Размер:
117.25 Кб
Скачать

1.3. Вещественные типы

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

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

* (умножение); / (деление); + (сложение); – (вычитание).

Название типа

Диапазон допустимых значений

Количество

верных цифр

Размер

в байтах

float

1.175e-38...3.40e+38

7-8

4

double

2.23e-308...1.798e+308

15-16

8

Значащими цифрами числа называют все цифры в его записи, начиная с первой ненулевой слева. Значащую цифру числа называют верной, если абсолютная погрешность числа не превосходит единицы разряда, соответствующего этой цифре.

В стандартном файле float.h определяется диапазон значений для вещественных чисел:

#define DBL_MAX 1.7976931348623158e+308 /* max value */

#define DBL_MIN 2.2250738585072014e-308 /* min positive value */

#define FLT_MAX 3.402823466e+38F /* max value */

#define FLT_MIN 1.175494351e-38F /* min positive value */

1.4. Логический тип bool

Логические переменные типа bool могут принимать одно из двух значений: true (истина) или false (ложь). При этом в языке принята гибкая интерпретация для true и false. По определению, true имеет значение 1 при преобразовании к целому типу, а false – 0. Можно целые значения преобразовать в логические, и при этом ненулевые целые преобразуются в true, а ноль – в false. Например, допустимы следующие объявления:

bool a = -3; // a принимает значение true

int i = false; // i принимает значение 0.

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

! – логическое отрицание (NOT)

&& – логическое умножение "И" (AND)

|| – логическое сложение "ИЛИ" (OR)

Операция логического отрицания является унарной, т.е. применяется к одному операнду, размещаемому справа от !. Правила выполнения операции выглядят так:

! FALSE = TRUE

! TRUE = FALSE

Правила выполнения бинарных операций && и || приведены в следующей таблице:

Операнд

Результат операции

X

Y

X && Y

X || Y

FALSE

FALSE

FALSE

FALSE

FALSE

TRUE

FALSE

TRUE

TRUE

FALSE

FALSE

TRUE

TRUE

TRUE

TRUE

TRUE

Правила выполнения логических операций определены таким образом, что логическое отрицание ! (NOT) имеет, как и всякая унарная операция, наивысший приоритет, следующий приоритет у операции логического умножения && (AND), а самый низкий – у операции || (OR). Логические выражения могут содержать не только логические операции, но и сравнения (отношения типа X<Y), которые имеют более низкий приоритет выполнения.

В арифметических выражениях логические значения преобразуются в целые типа int.

Например: int k = true + true; // в результате k получает значение 2.

!!! Указатель можно неявно преобразовать в bool, при этом ненулевой указатель принимает значение true, а нулевой – false.

    1. Символьные и целочисленные типы в С++

Для работы с символьными данными в языке С++ предусмотрен специальный тип данных сhar, значения которого в памяти компьютера занимают 1 байт.

Каждый используемый символ в компьютере имеет уникальный код (индивидуальный номер) в кодовой таблице. Так в соответствии с таблицей ASCII-кодов (American Standard Code for Information Interchange — американский стандартный код для обмена информацией) все допустимые символы имеют коды от 0 до 255, символы с 0-го по 31-й являются неотображаемыми на экране монитора, символ с кодом 32 означает пробел, а номера некоторых других символов следующие:

'0'...'9' – 48...57, 'A'...'Z' – 65...90, 'a'...'z' – 97...122,

'А'...'Я' – 128...159, 'а'...'п' – 160...175, 'р'...'я' – 224...239.

Основные характеристики символьного типа описываются в таблице:

Название

Диапазон допустимых значений

Размер в байтах

char

0…255

1

signed char

-128…+127

1

unsigned char

0…255

1

Основные характеристики целочисленных типов описываются в следующей таблице:

Название

Диапазон допустимых значений

Размер в байтах

short

-32768…+32767

2

int

-2147483648…+2147483647

4

unsigned short

0…65535

2

unsigned int

0…+4294967295

2

Типы unsigned short и unsigned int используются для представления целых значений без знака, а типы short и int – со знаком.

При выполнении действий над целыми операндами следующие арифметические операции вырабатывают целочисленные значения:

* – умножение; / – деление; % – остаток от деления целых чисел;

+ – сложение; - – вычитание.

В стандартном заголовочном файле limits.h определяется диапазон целых значений для данной версии С++. Например, можно найти следующие определения для Visual Studio C++:

#define INT_MIN (-2147483647 - 1) /* minimum (signed) int value */

#define INT_MAX 2147483647 /* maximum (signed) int value */

#define UINT_MAX 0xffffffff /* maximum unsigned int value */