Бесконачна петља — разлика између измена

Садржај обрисан Садржај додат
Ред 105:
</source>На неким системима, ова петља ће се извршити десет пута као што је и очекивано, али се на осталим системима неће извршити. Проблем је у томе што петља окончава услов <tt>(x != 1.1)</tt> теста за тачне једнакости две вредности, и начин по ком су вредности заступљене у многим рачунарима ће учинити да тест не успе, јер се не може представити тачна вредност 1.1.
 
Исто се може десити и у  [[Пајтон (програмски језик)|Пајтон-уПајтону]]:<source lang="python">
x = 0.1
while x != 1:
print x
x += 0.1
</source>Због вероватноће тестова за  једнакост или неједнакост који су неочекивано неисправни, сигурније је користити више-од или мање-од тестове када се ради о  "floating-point "вредностима. На пример, уместо да се тестира да ли је  <code>x</code> једнако 1.1, могло би се проверити да ли  је <tt>(x <= 1.0)</tt>, или <tt>(x < 1.1)</tt>, који би сигурно изашли накод одређеног броја понављањае. Још један начин да се поправи овај пример био би уз коришћење [[Цео број (рачунарска наука)|целог броја]] као [[Управљање током|индекс петље]], бројећи број понављања који су били извршени.
 
Сличан проблем се дешава често у [[Нумеричка анализа|нумеричкој анализи]]:  да би се израчунао одређени резултат, понављање је намењено да се изврши све док грешка не буде мања од изабране толеранције. Међутим, због грешака заокруживања током понављања, одређена толеранција не може бити никада достигнута, што резултује бесконачном петљом.