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


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


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


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


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


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


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


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


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


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



Контакти
 


Тлумачний словник
Авто
Автоматизація
Архітектура
Астрономія
Аудит
Біологія
Будівництво
Бухгалтерія
Винахідництво
Виробництво
Військова справа
Генетика
Географія
Геологія
Господарство
Держава
Дім
Екологія
Економетрика
Економіка
Електроніка
Журналістика та ЗМІ
Зв'язок
Іноземні мови
Інформатика
Історія
Комп'ютери
Креслення
Кулінарія
Культура
Лексикологія
Література
Логіка
Маркетинг
Математика
Машинобудування
Медицина
Менеджмент
Метали і Зварювання
Механіка
Мистецтво
Музика
Населення
Освіта
Охорона безпеки життя
Охорона Праці
Педагогіка
Політика
Право
Програмування
Промисловість
Психологія
Радіо
Регилия
Соціологія
Спорт
Стандартизація
Технології
Торгівля
Туризм
Фізика
Фізіологія
Філософія
Фінанси
Хімія
Юриспунденкция






Тип) вираз

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

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

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

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. Логічні вирази




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

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

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

 

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


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