Переповнення (програмне)

Матеріал з Вікіпедії — вільної енциклопедії.

ПЕРЕПОВНЕННЯ — стан, при якому обробка програми стає невизначеною внаслідок того, що значення операнда перебільшило ємність пам’яті, виділену для нього. При програмуванні обчислювальних систем, кожному числу, змінній (операнду) виділяться певна порція машинної пам´яті (комірок пам’яті), залежно від оголошеного типу, що може задаватись явно або неявно. Тип даних визначає спосіб відображення (зберігання) даних у машинній пам"яті та, відповідно, обсяг пам’яті, що виділяється на зберігання даних. При переповненні число (операнд) стає більшим за оголошений тип і це спричинює помилку (fault) та порушення ходу програми - некоректне завершення програми(abnormal program termination). П. може відбутися, зокрема, внаслідок ділення на нуль. Боротьба з П. Одним із способів уникнення п. є реалізація у програмному коді алгоритів опрацювання переповнень (перевірка та усунення умов, що спричиняють переповнення), а також - приведення типів даних до даних з більшою точністю. Останнє залежить від підтримки мовою програмування режимів перетворення даних (напр. мова Сі.)