Банкерско закръгляване (Round Half Even)
Справедлив метод за закръгляне, който разрешава точните съвпадения чрез закръгляне до най-близкото четно число.
Какво представлява банкерското закръгляване?
Банкерското закръгляване (Round Half Even / закръгляване към най-близкото четно) разрешава точните равенства по средата, като закръглява до най-близкото четно число.
Как работи банкерското закръгляване?
Използвайте тези стъпки, за да приложите правилно банкерското закръгляване:
Изберете позицията
Изберете позицията на закръгляване.
Вижте отхвърлената част
Погледнете отхвърлената част от числото.
Определете разстоянието
Определете дали тя е под, точно на или над средата.
Под средата
Ако е под средата, закръглете надолу до най-близката стойност.
Над средата
Ако е над средата, закръглете нагоре до най-близката стойност.
Точно по средата
Ако е точно по средата, проверете запазената цифра.
Четна запазена цифра
Ако запазената цифра е четна, я оставете без промяна.
Нечетна запазена цифра
Ако запазената цифра е нечетна, я увеличете с едно, за да стане резултатът четен. Правилото за четност се прилага само при случаи точно по средата.
Правило за банкерско закръгляване
Правилото за банкерско закръгляване гласи, че равенствата се разрешават въз основа на четността на възможните крайни резултати. При закръгляване до най-близката стойност всяка отхвърлена част, която е строго по-малка от 5, се закръглява към по-близкото число с по-малка абсолютна стойност. Всяка отхвърлена част, строго по-голяма от 5, се закръглява към по-близкото число с по-голяма абсолютна стойност. Когато отхвърлената част е точно 5, не последвана от други ненулеви цифри, се избира резултатът, чиято последна запазена цифра е четно число.
Защо 2.5 се закръглява до 2?
2.5 е точно по средата между 2 и 3. Банкерското закръгляване избира четния резултат, а 2 е четно, докато 3 е нечетно. Следователно 2.5 се закръглява до 2.
Обратно, 3.5 е точно по средата между 3 и 4. Тъй като 4 е четно, а 3 е нечетно, банкерското закръгляване избира 4. Така 3.5 → 4. Този модел се редува при всеки случай точно по средата.
Какво се случва при закръгляване на число, завършващо на 5?
Не всяко число, завършващо на 5, е случай точно по средата. Правилото за четност се прилага само за стойности точно по средата. Например при закръгляване до най-близкото цяло число:
- 2.5 е точно по средата. Правилото се прилага и то се закръглява до 2.
- 2.51 е над средата. То е по-близо до 3, затова се закръглява до 3. Правилото за четност се пропуска.
- 2.49 е под средата. То е по-близо до 2, затова се закръглява до 2. Правилото за четност се пропуска.
Примери за банкерско закръгляване
| Входно число | Резултат | Обяснение |
|---|---|---|
| 2.5 | 2 | 2 е четно |
| 3.5 | 4 | 4 е четно |
| 4.5 | 4 | 4 е четно |
| 5.5 | 6 | 6 е четно |
| 6.5 | 6 | 6 е четно |
| 7.5 | 8 | 8 е четно |
| 8.5 | 8 | 8 е четно |
| 9.5 | 10 | 10 е четно |
Този модел гарантира, че половината от случаите на равенство се закръгляват надолу (напр. 2.5 → 2, 4.5 → 4), а другата половина – нагоре (напр. 3.5 → 4, 5.5 → 6), балансирайки крайните резултати.
Банкерско закръгляване до десетични знаци
При закръгляване до определен знак след десетичната запетая условието за точно попадане по средата настъпва, когато следващата цифра е 5 и всички последващи цифри са нули. Запазената цифра определя изхода от равенството.
До 1 знак след десетичната запетая
- 2.25 → 2.2
- 2.35 → 2.4
- 2.45 → 2.4
- 2.55 → 2.6
До 2 знака след десетичната запетая
- 2.125 → 2.12
- 2.135 → 2.14
- 2.145 → 2.14
- 2.155 → 2.16
Важно е да се помни, че правилото за четност се прилага само когато отхвърлената част е точно по средата (като .05, .005). Ако стойността е 2.1251, тя е над средата, затова се закръглява нагоре до 2.13.
Банкерско закръгляване с отрицателни числа
Абсолютно същото правило важи и за отрицателните числа. Банкерското закръгляване винаги избира четния кандидат при равенства. Четността (четно/нечетно) не се променя от знака.
−3.5 → −4
−4.5 → −4
−5.5 → −6
Банкерско закръгляване срещу закръгляване на половина нагоре
Закръгляването на половина нагоре (Round Half Up) винаги насочва точните равенства далеч от нулата (нагоре за положителни числа), докато банкерското закръгляване насочва равенствата към най-близкото четно число.
| Входно число | Банкерско закръгляване | Закръгляване на половина нагоре |
|---|---|---|
| 2.5 | 2 | 3 |
| 3.5 | 4 | 4 |
| 4.5 | 4 | 5 |
| 5.5 | 6 | 6 |
Банкерско закръгляване срещу закръгляване на половина надолу
Закръгляването на половина надолу (Round Half Down) винаги насочва точните равенства към нулата, докато банкерското закръгляване зависи от правилото за четно число.
| Входно число | Банкерско закръгляване | Закръгляване на половина надолу |
|---|---|---|
| 2.5 | 2 | 2 |
| 3.5 | 4 | 3 |
| 4.5 | 4 | 4 |
| 5.5 | 6 | 5 |
Банкерско закръгляване срещу традиционно закръгляване
В много контексти на училищната математика познатото правило за закръгляване е Round Half Up (на половина нагоре), където стойност точно по средата се закръглява нагоре. Банкерското закръгляване използва различно правило за разрешаване на равенства.
Банкерско закръгляване срещу закръгляване към четно (Round to Even)
Банкерското закръгляване и закръгляването на половина към четно (Round Half Even) са абсолютно един и същ метод за закръгляване. Това са различни имена за идентични логически операции.
Защо се използва банкерското закръгляване?
Когато многократните изчисления съдържат множество стойности точно по средата, постоянното закръгляване на равенствата само в една посока (както прави Half Up) може да създаде систематично отклонение (bias). Закръгляването Round Half Even насочва част от равенствата нагоре и част надолу въз основа на четността. Това може значително да намали кумулативното отклонение при закръгляване в големи масиви от изчисления.
Банкерско закръгляване и статистическо отклонение при закръгляване
Разгледайте задачата за сумиране на набор от данни, съдържащ няколко стойности точно по средата. Като сравним резултатите от Half Up и Half Even с точната математическа сума, ефектът за намаляване на отклонението става очевиден:
| Оригинал | Half Up (нагоре) | Half Even (Банкерско) |
|---|---|---|
| 1.5 | 2 | 2 |
| 2.5 | 3 | 2 |
| 3.5 | 4 | 4 |
| 4.5 | 5 | 4 |
| Общо: 12.0 | Общо: 14 | Общо: 12 |
Точната сума е 12.0. Методът Half Up въвежда отклонение от +2, защото всяко равенство е закръглено нагоре. Методът Half Even не генерира нетна грешка от закръгляване в този конкретен пример, тъй като корекциите нагоре и надолу се балансират взаимно. Това не означава, че Half Even винаги дава абсолютно точна обща сума.
Къде се използва банкерското закръгляване?
Банкерското закръгляване се използва в редица финансови, счетоводни, статистически, научни и софтуерни системи. Действителното правило за закръгляване зависи от приложимия стандарт, софтуера или съответната организация.
Банкерско закръгляване в програмирането
Различните езици за програмиране и библиотеки прилагат различни правила за закръгляване. Никога не предполагайте, че функция с име round() използва определен метод по подразбиране. Проверете документацията или изрично задайте желания режим на закръгляване.
Използва ли Python банкерско закръгляване?
Да. Вградената функция round() в Python по подразбиране използва банкерско закръгляване (Round Half Even) за случаи на равенство. Например round(2.5) връща 2, а round(3.5) връща 4. Имайте предвид, че поради двоичното представяне с плаваща запетая някои десетични дроби може да не се съхраняват като точни стойности по средата, което понякога може да заобиколи правилото за равенство.
C# / .NET
В C# и .NET Math.Round() по подразбиране използва банкерско закръгляване (MidpointRounding.ToEven). Можете да промените това поведение, като изрично подадете MidpointRounding.AwayFromZero.
Java
Методът Math.round() в Java използва Round Half Up. За да използвате банкерско закръгляване, трябва да използвате класа BigDecimal и изрично да укажете RoundingMode.HALF_EVEN.
JavaScript
Методът Math.round() в JavaScript използва Round Half Up (по-точно към положителна безкрайност). JavaScript няма вградена функция за банкерско закръгляване, така че трябва да приложите собствен алгоритъм за закръгляване.
Използва ли Excel банкерско закръгляване?
Не. Стандартната функция ROUND в Excel използва Round Half Up. За да извършите банкерско закръгляване в Excel, трябва или да напишете персонализирана VBA функция, или да използвате по-сложна масивна формула за оценка на четността.
Често срещани грешки при банкерско закръгляване
„Всяка 5 се закръглява нагоре.“
Това описва закръгляването Round Half Up, а не банкерското закръгляване. Банкерското закръгляване закръглява половината от точните случаи на равенство нагоре, а другата половина надолу въз основа на четността.
„Всяка 5 се закръглява надолу.“
Това описва закръгляването Round Half Down. Банкерското закръгляване редува посоката при точни равенства.
„Банкерското закръгляване означава закръгляване към нулата.“
Закръгляването към нулата е отрязване (усечение). Банкерското закръгляване първо се насочва към най-близката стойност и използва правилото за четност само при равенства.
„Банкерското закръгляване и Half Down са едно и също.“
Half Down винаги насочва равенствата към нулата. Банкерското закръгляване насочва равенствата към четното число, което може да е далеч от нулата (напр. 3.5 → 4).
„Банкерското закръгляване премахва всяко отклонение при закръгляване.“
То може да намали систематичното отклонение в големи набори от данни, но не премахва магически всяко отклонение във всяка произволна извадка от числа.
„Всички езици за програмиране използват банкерско закръгляване.“
JavaScript, PHP и стандартният Math.round() в Java използват разновидности на Half Up. Винаги трябва да проверявате техническото поведение за съответната среда.
„Всички банки използват банкерско закръгляване.“
Много финансови институции всъщност използват Round Half Up поради историческо законодателство или по-прости софтуерни ограничения. Действителното използване зависи изцяло от организацията и системата.
„Всяко число, съдържащо 5, е случай по средата.“
Една стойност е точно по средата само ако първата отхвърлена цифра е 5 и след нея няма други ненулеви цифри (напр. 2.500 е по средата; 2.501 не е).
Кратка справка за банкерско закръгляване
| Ситуация | Правило |
|---|---|
| Под средата | Закръглете до най-близката стойност |
| Над средата | Закръглете до най-близката стойност |
| Точно по средата + четна запазена цифра | Запазете я без промяна |
| Точно по средата + нечетна запазена цифра | Увеличете до следващата четна цифра |
2.5 → 2 (Точно по средата, 2 е четно)
3.5 → 4 (Точно по средата, 3 е нечетно, увеличава се до 4)
Формула за банкерско закръгляване
Концептуално правилото за банкерско закръгляване гласи: изчислете разстоянието от първоначалното число до двете най-близки допустими стойности. Ако едното разстояние е по-кратко, изберете тази стойност. Ако разстоянията са напълно еднакви (случай точно по средата), сравнете двата възможни закръглени резултата и изберете този, чиято запазена цифра е четна (дели се на 2).
Практически задачи за банкерско закръгляване
Проверете разбирането си с тези практически въпроси.
1. Закръглете 2.5 до най-близкото цяло число
Покажи отговора
Отговор: 2. Числото е точно по средата. Четният кандидат е 2.
2. Закръглете 3.5 до най-близкото цяло число
Покажи отговора
Отговор: 4. Числото е точно по средата. Четният кандидат е 4.
3. Закръглете −4.5 до най-близкото цяло число
Покажи отговора
Отговор: −4. Кандидатите са −4 и −5. −4 има четна цифра.
4. Закръглете 6.51 до най-близкото цяло число
Покажи отговора
Отговор: 7. Числото е над средата (по-близо до 7). Правилото за четност не се прилага.
5. Закръглете 2.35 до 1 знак след десетичната запетая
Покажи отговора
Отговор: 2.4. Точно по средата. Кандидатите са 2.3 и 2.4. 4 е четната цифра.
6. Закръглете 2.45 до 1 знак след десетичната запетая
Покажи отговора
Отговор: 2.4. Точно по средата. Кандидатите са 2.4 и 2.5. 4 е четната цифра.
7. Закръглете 1,250 до най-близката стотица
Покажи отговора
Отговор: 1,200. Точно по средата между 1,200 и 1,300. 2 е четно.
8. Закръглете 1,350 до най-близката стотица
Покажи отговора
Отговор: 1,400. Точно по средата между 1,300 и 1,400. 4 е четно.
9. Закръглете 2.145 до 2 знака след десетичната запетая
Покажи отговора
Отговор: 2.14. Точно по средата. Кандидатите са 2.14 и 2.15. 4 е четно.
10. Закръглете 2.155 до 2 знака след десетичната запетая
Покажи отговора
Отговор: 2.16. Точно по средата. Кандидатите са 2.15 и 2.16. 6 е четно.
Често задавани въпроси
Какво е банкерско закръгляване?
Банкерското закръгляване е метод за разрешаване на равенства, който закръглява случаите точно по средата до най-близкото четно число.
Какво е другото име на банкерското закръгляване?
Банкерското закръгляване се нарича още Round Half Even (закръгляване на половина към четно). IEEE 754 е стандарт за аритметика с плаваща запетая, който определя няколко атрибута за посока на закръгляване, включително roundTiesToEven, използващ същия принцип за разрешаване на равенства към четно число.
Едно и също ли е банкерското закръгляване със закръгляването Round Half Even?
Да. Банкерското закръгляване и Round Half Even са абсолютно един и същ метод на закръгляване.
Защо 2.5 се закръглява до 2?
2.5 е точно по средата между 2 и 3. Банкерското закръгляване избира четния резултат, а 2 е четно, докато 3 е нечетно. Следователно 2.5 се закръглява до 2.
Защо 3.5 се закръглява до 4?
3.5 е точно по средата между 3 и 4. Банкерското закръгляване избира четния резултат, а 4 е четно, докато 3 е нечетно. Следователно 3.5 се закръглява до 4.
Закръглява ли банкерското закръгляване 5 нагоре или надолу?
Банкерското закръгляване не закръглява просто всяка 5 нагоре или надолу. За случай точно по средата то избира резултата, чиято запазена цифра е четна. Например 2.5 се закръглява до 2, защото 2 е четно, докато 3.5 се закръглява до 4, защото 4 е четно.
Как банкерското закръгляване обработва отрицателните числа?
Отрицателните числа следват абсолютно същото правило за четност. Например −2.5 се закръглява до −2, защото 2 е четният кандидат.
За какво се използва банкерското закръгляване?
Използва се във финансите, статистиката и софтуерното инженерство, за да се намали систематичното отклонение при закръгляване в големи набори от данни.
Защо банкерското закръгляване намалява отклонението (bias)?
Чрез насочване на приблизително половината от случаите на равенство нагоре и половината надолу, то предотвратява кумулативното натрупване на грешка, което възниква при постоянно закръгляване само в една посока.
Каква е разликата между банкерско закръгляване и закръгляване на половина нагоре (Half Up)?
Half Up винаги закръглява точните равенства далеч от нулата. Банкерското закръгляване закръглява точните равенства до най-близкото четно число.
Каква е разликата между банкерско закръгляване и закръгляване на половина надолу (Half Down)?
Half Down винаги закръглява точните равенства към нулата. Банкерското закръгляване закръглява точните равенства до най-близкото четно число.
Използва ли Python банкерско закръгляване?
Да. Вградената функция round() в Python по подразбиране използва банкерско закръгляване (Round Half Even).
Използва ли Excel банкерско закръгляване?
Не. Стандартната функция ROUND в Excel използва Round Half Up. Трябва да напишете персонализирана формула или VBA функция, за да постигнете банкерско закръгляване в Excel.