Студопедия
Новини освіти і науки:
МАРК РЕГНЕРУС ДОСЛІДЖЕННЯ: Наскільки відрізняються діти, які виросли в одностатевих союзах


РЕЗОЛЮЦІЯ: Громадського обговорення навчальної програми статевого виховання


ЧОМУ ФОНД ОЛЕНИ ПІНЧУК І МОЗ УКРАЇНИ ПРОПАГУЮТЬ "СЕКСУАЛЬНІ УРОКИ"


ЕКЗИСТЕНЦІЙНО-ПСИХОЛОГІЧНІ ОСНОВИ ПОРУШЕННЯ СТАТЕВОЇ ІДЕНТИЧНОСТІ ПІДЛІТКІВ


Батьківський, громадянський рух в Україні закликає МОН зупинити тотальну сексуалізацію дітей і підлітків


Відкрите звернення Міністру освіти й науки України - Гриневич Лілії Михайлівні


Представництво українського жіноцтва в ООН: низький рівень культури спілкування в соціальних мережах


Гендерна антидискримінаційна експертиза може зробити нас моральними рабами


ЛІВИЙ МАРКСИЗМ У НОВИХ ПІДРУЧНИКАХ ДЛЯ ШКОЛЯРІВ


ВІДКРИТА ЗАЯВА на підтримку позиції Ганни Турчинової та права кожної людини на свободу думки, світогляду та вираження поглядів



Тип) вираз

Перетворення типів

Охарактеризуємо основні операції мови С++.

Розрізняють унарні і бінарні операції. Почнемо їхній розгляд з операцій, віднесених до першої з наступних традиційних груп:

1. Арифметичні операції.

2. Логічні операції і операції відношення.

3. Операції з бітами.

У мові С++передбачено дві нетрадиційні операції. Розглянемо два наступні рядки програми:

а = b + c++; a1 = b1 + ++c1;

Нехай b = b1 = 2, с = c1 = 4. Тоді, після виконання вказаних операцій:

а = 6, b = 2, с = 5, a1 = 7, b1 = 2, c1 = 5.

Ще одна особливість мови: вираз вигляду а = а + 5; можна записати в іншій формі: а += 5;.Замість знаку + можна використовувати і символи інших бінарних операцій (див. табл. 1).

Якщо у виразі з'являються операнди різних типів, то вони перетворяться до деякого загального типу, при цьому до кожного арифметичного операнда застосовується така послідовність правил:

1. Якщо один з операндів у виразі має тип long double, то останні теж перетворяться до типу long double.

2. Інакше, якщо один з операндів у виразі має тип double, то останні теж перетворяться до типу double.

3. Інакше, якщо один з операндів у виразі має тип float, то останні теж перетворяться до типу float.

4. Інакше, якщо один з операндів у виразі має тип unsigned long, то останні теж перетворяться до типу unsigned long.

5. Інакше, якщо один з операндів у виразі має тип long, то останні теж перетворяться до типу long.

5. Інакше, якщо один з операндів у виразі має тип unsigned, то останні теж перетворяться. до типу unsigned.

7. Інакше всі операнди перетворяться до типу int. При цьому тип char перетвориться в int із знаком; тип unsigned char в int, у якого старший байт завжди нульовий; тип signed char в int, у якого в знаковий розряд передається знак з сhar; тип short в int (знаковий або беззнаковий).

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

У мові С++ можна явно вказати тип будь-якого виразу. Для цього використовується операція перетворення ("приведення") типу. Вона застосовується таким чином:

(тут можна вказати будь-який допустимий в мові С++ тип).

Розглянемо приклад:

int а = 30000;

float b;

........

b = (float) а * 12;

(змінна а цілого типу явно перетворена до типу float; якщо цього не зробити, то результат буде втрачений, оскільки а * 12 > 32767). Перетворення типу також може використовуватися для перетворення типів аргументів при виклику функцій.


Читайте також:

  1. Аналітичний вираз сил і моментів.
  2. Визначення величини одноденних витрат окремих видів матеріальних цінностей (у натуральному і грошовому виразі).
  3. Вираз елементів рекуренти через початковий стан
  4. Гастрит хронічний. Виразкова хвороба шлунка і 12п кишки. Рак шлунка.
  5. Гастрит хронічний. Виразкова хвороба шлунка і 12п кишки. Рак шлунка.
  6. Загальний вираз енергії міжмолекулярної взаємодії.
  7. Запишемо вираз миттєвої потужності при гармонічному режимі
  8. Заробітна плата – це винагорода, обчислена, як правило, у грошовому виразі, яку за трудовим договором власник або уповноважений ним орган виплачує працівникові за виконану роботу.
  9. Імпорт-вирази
  10. Інтегрування виразів, що містять тригонометричні функції
  11. Лінія і її виразні можливості у художньо-проектній роботі
  12. Логічні вирази




Переглядів: 674

<== попередня сторінка | наступна сторінка ==>
Cинтаксис опису змінних | Кероване ритмом

Не знайшли потрібну інформацію? Скористайтесь пошуком google:

  

© studopedia.com.ua При використанні або копіюванні матеріалів пряме посилання на сайт обов'язкове.


Генерація сторінки за: 0.016 сек.