Округление
Округление в математике и программировании (C++)
1. Что такое округление?
📌 Округление – это процесс замены числа на ближайшее более простое значение с заданной точностью.
🔹 Примеры округления:
- - -
📌 **Правила округления**: 1. **Округление вверх** (до большего) – если цифра после запятой ≥ 5. 2. **Округление вниз** (до меньшего) – если цифра после запятой < 5.
2. Виды округления
1️⃣ Округление до ближайшего целого (по правилам математики)
✅ 4.4 → 4, 4.5 → 5, 4.6 → 5
2️⃣ Округление вниз (отбрасывание дробной части)
✅ 4.9 → 4, 3.1 → 3
3️⃣ Округление вверх
✅ 4.1 → 5, 2.3 → 3
4️⃣ Округление до заданного количества знаков после запятой
✅ 3.14159 → 3.14 (до двух знаков)
3. Округление в C++
🔹 Использование round() (по математическим правилам)
#include <iostream>
#include <cmath> // Подключаем библиотеку cmath
using namespace std;
int main() {
double num = 4.6;
cout << "Округление 4.6: " << round(num) << endl; // 5
cout << "Округление 4.3: " << round(4.3) << endl; // 4
cout << "Округление -2.7: " << round(-2.7) << endl; // -3
return 0;
}
📌 Вывод:
Округление 4.6: 5 Округление 4.3: 4 Округление -2.7: -3
🔹 Округление вниз (trunc и floor)
📌 trunc(x) – отбрасывает дробную часть, не зависит от знака.
📌 floor(x) – округляет вниз (к ближайшему меньшему целому).
#include <iostream>
#include <cmath>
using namespace std;
int main() {
cout << "trunc(4.9) = " << trunc(4.9) << endl; // 4
cout << "floor(4.9) = " << floor(4.9) << endl; // 4
cout << "floor(-3.2) = " << floor(-3.2) << endl; // -4 (округление вниз!)
return 0;
}
📌 Вывод:
trunc(4.9) = 4 floor(4.9) = 4 floor(-3.2) = -4
🔹 Округление вверх (ceil)
📌 ceil(x) – округляет всегда вверх.
#include <iostream>
#include <cmath>
using namespace std;
int main() {
cout << "ceil(4.1) = " << ceil(4.1) << endl; // 5
cout << "ceil(-3.7) = " << ceil(-3.7) << endl; // -3 (округление вверх!)
return 0;
}
📌 Вывод:
ceil(4.1) = 5 ceil(-3.7) = -3
🔹 Округление до n знаков после запятой
📌 Округляем число x до n знаков: [ (x ^n) / 10^n ]
#include <iostream>
#include <cmath>
using namespace std;
double roundToN(double num, int n) {
double factor = pow(10, n); // 10^n
return round(num * factor) / factor;
}
int main() {
double num = 3.14159;
cout << "Округление 3.14159 до 2 знаков: " << roundToN(num, 2) << endl; // 3.14
return 0;
}
📌 Вывод:
Округление 3.14159 до 2 знаков: 3.14
4. Где применяется округление?
✅ Финансы (округление до копеек)
✅ Физика (точность измерений)
✅ Программирование (графика, расчёты)
✅ Статистика (данные, средние значения)
5. Вывод
🔹 Округление бывает разное (обычное, вверх, вниз, до n знаков).
🔹 В C++ есть round(), ceil(), floor(), trunc().
🔹 Используется в финансах, науке, программировании. 🚀