русс | укр

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

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


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


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


Дата додавання: 2014-11-28; переглядів: 837.


 

При використанні простих типів операція перетворення типу може записуватися одним із двох еквівалентних способів: (тип)x або тип(x) , де x - вираз, а тип - ім’я типу, до якого виконується перетворення.

C++ допускає запис приведення до будь-якого типу. Відповідальність за правильне використання цієї операції покладена на програміста.

Наведемо приклад, коли запис явного перетворення типу має сенс:

int a=2;

float x=3.5;

a = a + (int)x;

Останній оператор буде виконуватися швидше, у порівнянні з більш простим оператором:

a = a + x;

Це пов’язано з тим, що замість двох операцій перетворення типу (int→float та float→int) виконується тільки одне перетворення виду (float→ int).

Операцію приведення типу доводиться явно записувати, якщо потрібно одержати результат дійсного типу від ділення цілих значень. Наприклад, при виконанні таких рядків програми

int i=3, k=4;

float x;

x = i/k ;

отримаємо значення x = 0. Якщо ж, все-таки потрібно одержати точне значення x = 0.75, другий рядок необхідно записати так:

x = (float)i/(float)k;

або хоча б так:

x = i/(float)k;

 

 

Вправи

 

Вправа 1

До якого типу будуть віднесені наступні константи:

127 , "Borland C++" , 1.602e-19 , 'A' , "10000" , 'ab' ,
'>' , "#" , 12760 , -128 , 100 000 , 2 500 000 000 , 0x1200 , 0xABC , 127.0 , 0 , 0.0 , 3e-400

 

Вправа 2

Напишіть програму, що виводить величину машинної похибки і довжину мантиси у бінарному зображенні числа для дійсних типів float, double, long double.

 

Вправа 3

Напишіть програму для обчисленні факторіалу n! й зробіть таке дослідження. Чому дорівнює найбільше значення n, для якого можна обчислити факторіал при умові, що для обчислення застосовано тип: а) unsigned int; б) float; в) double; г) long double.

 

Вправа 4

Нехай m - кількість байтів, яка відповідає розміру певного цілочислового типу. Напишіть універсальну формулу, яка визначає інтервал можливих значень для цього типу. Передбачити випадки, коли тип є знаковим або беззнаковим.

 

Вправа 5

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

#include <syst.h>


<== попередня лекція | наступна лекція ==>
Типи та їхні різновиди | Void main()


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