Arduino:
Округлення чисел
Як це зробити:
В Arduino ви можете округляти числа, використовуючи вбудовані функції. Ключові є round
, ceil
і floor
. Ось коротка демонстрація:
void setup() {
Serial.begin(9600);
float myNumber = 123.4567;
// Округлення до найближчого цілого числа
Serial.println(round(myNumber)); // Виводить: 123
// Завжди округляє вгору
Serial.println(ceil(myNumber)); // Виводить: 124
// Завжди округляє вниз
Serial.println(floor(myNumber)); // Виводить: 123
}
void loop() {
// Немає чого циклічно обробляти.
}
Поглиблене Вивчення:
Алгоритми округлення мають довгу історію; вони існували задовго до цифрових комп’ютерів. В аналоговому обчисленні округлення було фізичним процесом. В цифровому обчисленні це математичний процес.
Округлення потрібне, коли ми конвертуємо з типу з більшою точністю (наприклад, float
або double
) у тип з меншою точністю (наприклад, int
). Але спосіб округлення може варіюватися:
round()
: Стандартне округлення. Якщо дробова частина 0.5 або вище, округляється вгору; інакше вниз.ceil()
: Скорочення від “стеля”, завжди округляє вгору до найближчого цілого числа, навіть якщо воно ближче до нижнього числа.floor()
: Протилежність стелі; завжди округляє вниз.
Вибір між цими функціями залежить від того, для чого потрібне округлене значення. Міряння можуть потребувати стандартного округлення, гроші часто використовують floor
, тоді як системи інвентаризації можуть використовувати ceil
, щоб все було враховано.
Реалізація цих функцій в Arduino є простою; вони не обробляють додаткові випадки, наприклад, округлення до конкретних десяткових місць. Для цього потрібна власна функція або глибше математичне розуміння – подумайте про множення для зсуву десяткового розряду, округлення, а потім повернення через ділення.
Помилки округлення можуть накопичуватися, значно впливаючи на тривалі обчислення або ітераційні процеси. Програмістам потрібно бути обережними при виконанні численних операцій з округленими значеннями.
Дивіться також:
- Поглиблений погляд на підводні камені та стратегії округлення: Floating Point Guide
- Для перегляду розширених технік, включаючи власні функції округлення та обробку помилок округлення, ви можете переглянути академічні ресурси або детальні програмні керівництва.