русс | укр

Мови програмуванняВідео уроки php mysqlПаскальСіАсемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование


Linux Unix Алгоритмічні мови Архітектура мікроконтролерів Введення в розробку розподілених інформаційних систем Дискретна математика Інформаційне обслуговування користувачів Інформація та моделювання в управлінні виробництвом Комп'ютерна графіка Лекції


Перетворення вбудованих арифметичних типів-значень


Дата додавання: 2015-01-08; переглядів: 1050.


Якщо операнди різного типу і/або операція для цього типу не визначена, перед обчисленнями автоматично виконується перетворення типу згідно правил, що забезпечують приведення коротших типів до довших для охорони значущості і точності. Автоматичне (неявне) перетворення можливе не завжди, а тільки якщо при цьому не може трапитися втрата значущості.

Якщо неявного перетворення з одного типу в інший не існує, програміст може задати явне перетворення типу за допомогою операції (тип) х. Явне перетворення розглядається в цьому розділі трохи пізніше.

Арифметичні операції не визначені для коротших, ніж int, типів. Це означає, що якщо у виразі беруть участь тільки величини типів sbyte, byte, short і ushort, перед виконанням операції вони будуть перетворені в int. Таким чином, результат будь-якої арифметичної операції має тип не менше int.

Правила неявного перетворення ілюструє рис. 3.1. Якщо один з операндів має тип, зображений на нижчому рівні, ніж інший, то він буде приводитися до типу іншого операнда за наявності шляху між ними. Якщо шляху немає, виникає помилка компіляції. Якщо шляхів декілька, вибирається найбільш короткий, такий, що не містить пунктирних ліній. Перетворення виконується не послідовно, а безпосередньо з початкового типу в результуючий.

 

Рис. 3.1. Неявні арифметичні перетворення типів

 

Перетворення коротших, ніж int, типів виконується при привласненні. Зверніть увагу на те, що неявного перетворення з float і double в decimal не існує.


<== попередня лекція | наступна лекція ==>
Операції і вирази | Введення у виключення


Онлайн система числення Калькулятор онлайн звичайний Науковий калькулятор онлайн