Leksykon IT › Programowanie › Liczby zdenormalizowane

Liczby zdenormalizowane

Programowanie Svenska → Zaktualizowano: 2026-10-28

Liczby zmiennoprzecinkowe tak bliskie zera, że procesor przechodzi na wolną ścieżkę — klasyczny powód, dla którego cichy pogłos zjada procesor.

IEEE 754 pozwala, by wartości poniżej najmniejszego wykładnika normalnego malały stopniowo ku zeru z coraz mniejszą precyzją, zamiast nagle się zerować. Matematycznie to eleganckie, praktycznie kosztowne: na wielu procesorach x86 obsługuje je mikrokod, a pojedyncza operacja może trwać sto razy dłużej niż zwykle.

Kod audio wpada w tę pułapkę częściej niż prawie cokolwiek innego. Filtr ze sprzężeniem zwrotnym lub zanikający ogon pogłosu wciąż zmniejsza wartość o połowę, aż trafia w obszar denormali — dokładnie wtedy, gdy wszystko ucichło. Skutek to skoki obciążenia CPU i xruny w chwili, gdy muzyka milknie. Remedium to flagi FTZ i DAZ w rejestrze sterującym SSE, które zaokrąglają takie wartości do zera, albo stara sztuczka z dodaniem niesłyszalnego offsetu DC lub szeptu szumu.

← Wróć do leksykonu