Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Операції над числовими типами



Над числовими типами, як і над всіма іншими, можливі насамперед чотири основних операції: створення, видалення, вибір, відновлення. Специфічні операції над числовими типами – добре відомі всім арифметичні операції: додавання, віднімання, множення, ділення. Операція зведення в степінь у деяких мовах також є базовою і позначається спеціальним символом чи комбінацією символів (^ – у BASІС, ** – у PL/1), в інших – виконується вбудованими функціями (наприклад, pow – у C).

Варто вказати, що операція ділення по-різному виконується для цілих і дійсних чисел. При діленні цілих чисел дробова частина результату відкидається, як би близька до 1 вона не була. У зв'язку з цим у мові PASCAL маються навіть різні позначення для розподілу дійсних і цілих чисел – операції "/" та "dіv" відповідно. В інших мовах обидві операції ділення позначаються однаково, а тип результату ділення визначається типом операндів. Для цілих операндів можлива ще одна операція – остача від ділення – ("mod" – у PASCAL, "%" – у C). При цьому знак частки визначається знаками діленого та дільника, а знак залишку – знаком діленого.

Наприклад: – 31 dіv – 10 = +3; – 31 mod – 10 = – 1

+31 dіv – 10 = – 3; + 31 mod – 10 = + 1

+31 dіv – 10 = – 3; + 31 mod – 10 = + 1.

Ще одна група операцій над числовими типами – операції порівняння: "дорівнює", "не дорівнює", "більше", "менше" і т.п. Важливо те, що хоча операндами цих операцій є дані числових типів, результат має логічний тип – "істина" або "неправда". Говорячи про операції порівняння, варто звернути увагу на особливість виконання порівнянь на рівність/нерівність дійсних чисел. Оскільки ці числа представляються в пам'яті з якоюсь (неабсолютною) точністю, порівняння їх не завжди можуть бути абсолютно достовірні.

Оскільки ті ж самі операції припустимі для різних числових типів, виникає проблема арифметичних виразів із змішуванням типів. Це створює деякі незручності для програмістів, тому що в реальних задачах вирази із змішаними типами зустрічаються досить часто. Тому більшість мов допускає такі вирази, в яких операнди мають різні числові типи, але обробляються такі вирази в різних мовах по-різному. У мові PL/1, наприклад, всі операнди виразу приводяться до одного типу – до типу тієї змінної, у яку буде записаний результат, а потім уже вираз обчислюється. У мові C перетворення типів виконується в процесі обчислення виразу, при виконанні кожної окремої операції, без обліку інших операцій; кожна операція обчислюється з точністю найбільш точного в ній операнда. Програміст, який використовує вирази зі змішуванням типів, повинен точно знати правила їхнього обчислення для обраної мови.





Дата публикования: 2014-12-10; Прочитано: 396 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.005 с)...