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

Перепо́внення — стан, при якому обробка програми стає невизначеною внаслідок того, що значення операнда перебільшило ємність пам'яті, виділену для нього. При програмуванні обчислювальних систем, кожному числу, змінній (операнду) виділяться певна порція оперативної пам'яті (комірок пам'яті), залежно від оголошеного типу, що може задаватись явно або неявно. Тип даних визначає спосіб відображення (зберігання) даних у машинній пам'яті та, відповідно, обсяг пам'яті, що виділяється на зберігання даних. При переповненні число (операнд) стає більшим за оголошений тип і це спричинює помилку (fault) та порушення ходу програми — некоректне завершення програми (abnormal program termination). Переповнення може відбутися, зокрема, внаслідок ділення на нуль.

Боротьба з переповненням

Одним із способів уникнення п. є реалізація у програмному коді алгоритмів опрацювання переповнень (перевірка та усунення умов, що спричиняють переповнення), а також приведення типів даних до даних з більшою точністю. Останнє залежить від підтримки мовою програмування режимів перетворення даних (напр. мова Сі.)

Див. також


This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.