Операционная система UNIX. Руководство программиста

     

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


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

  • Сначала все операнды типов char или unsigned long преобразуются к типу int, а все операнды типов unsigned char или unsigned long преобразуются к типу unsigned int.
  • Затем, если один из операндов имеет тип double, другой преобразуется к типу double, который и объявляется типом результата.
  • Иначе, если один из операндов имеет тип unsigned long, другой преобразуется к типу unsigned long, который и объявляется типом результата.
  • Иначе, если один операнд имеет тип long, а другой - unsigned int, они оба преобразуются к типу unsigned long, который и объявляется типом результата.
  • Иначе, если один из операндов имеет тип long, другой преобразуется к типу long, который и объявляется типом результата.
  • Иначе, если один из операндов имеет тип unsigned, другой преобразуется к типу unsigned, который и объявляется типом результата.
  • Иначе оба операнда преобразуются к типу int, который и объявляется типом результата.



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