| Форум| Гостевая| Ссылки| Программы| Исходные тексты| Наши партнеры.|
   
| Главная| Рассылки| Услуги| Библиотека| Новости| Авторам| Программистам| Студентам|
delphi c++ assembler
 

1. Ю. Баженова. Visual C++ 6.0. Уроки программирования_______________

отся стандартным преобразованием типов. В языке C++ автоматически (ыполняется стандартное преобразование типов в том случае, если выраже-ше содержит переменные различных типов.

Основные правила для автоматического преобразования типов состоят в :ледующем:

• типы всех переменных, используемых в выражении справа от оператора присваивания сначала преобразовываются к наиболее "широкому" типу, а затем выполняется вычисление выражения;

• тип результата будет преобразован к типу значения, расположенного слева от оператора присваивания. Пример:

long Inumi, lnum2;

int inum;

// Значение переменной inum преобразовывается к типу long, // а затем выполняется присваивание Inumi = inum;

// или умножение. lnum2 = inum * lnum2;

При преобразовании целых типов char, int, long и типов, образуемых из них, таких, как short, signed и unsigned, выполняются следующие правила:

• при преобразовании целого типа signed к типу unsigned не происходит изменения значения битов и поэтому для отрицательных чисел значение переменной типа unsigned будет отличаться от значения переменной типа signed;

Пример:

short i = -3; unsigned short us;

us = i; // Переменная us будет равна 65533

• при преобразовании целого типа unsigned к типу signed не происходит изменения значения битов и поэтому значения переменной типа unsigned могут отличаться от значения переменной типа signed;

Пример:

short i; unsigned short us = 65533;

i = us; // Переменная i будет равна -3

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

• допускается автоматическое преобразование типа float к double и double к long double, значение переменной при этом не изменяется;

• преобразование к более "короткому" типу с плавающей точкой (например, double к float) происходит корректно только в том случае, если нет потери значения, в противном случае результат будет неопределен;

26

Используются технологии uCoz
 

Rambler's Top100 Rambler's Top100

©  Adept Design Studio

Используются технологии uCoz