Основы программирования на языке C

Арифметические преобразования


Арифметические операторы языка Си преобразуют операнды к соответствующим типам автоматически, если операнды не имели таких типов с самого начала. Схема преобразования, используемая этими операторами, называется обычные арифметические преобразования; эта схема может быть описана следующими правилами:

  1. Преобразовать операнды типов char и short int к типу int; преобразовать операнды типа float к типу double.
  2. Если хотя бы один из операндов имеет тип double, то и другой операнд преобразуется к типу double (если он другого типа); результат имеет тип double.
  3. Если хотя бы один операнд имеет тип long, то и другой операнд преобразуется к типу long (если он другого типа); результат имеет тип long.
  4. Если хотя бы один из операндов имеет тип unsigned, то и другой операнд преобразуется к типу unsigned (если его тип не unsigned); результат имеет тип unsigned.
  5. Если ни один из случаев 1-4 не имеет места, то оба операнда должны иметь тип int; такой же тип будет и у результата.



Содержание раздела