BT Sözlüğü › Programlama › Hızlı ters karekök

Hızlı ters karekök

Programlama Svenska → Güncellendi: 2026-10-26

Bir kayan noktalı sayıyı tamsayı gibi okuyup sihirli bir sabitten çıkararak ve sonucu tek bir Newton adımıyla cilalayarak 1/√x'i yaklaşık hesaplayan bit hilesi.

Oyunlar vektörleri sürekli normalleştirir; aydınlatma, yansımalar ve fizik bunsuz olmaz, her normalleştirme de 1/√x ister. 1990'ların işlemcilerinde hem bölme hem karekök yavaştı. Quake III Arena'daki (1999) Q_rsqrt, bir IEEE 754 kayan noktalı sayının bitlerini tamsayı olarak yeniden yorumlar; üs alanı sayesinde sağa kaydırma, logaritmayı kabaca yarıya indirir. Bunu 0x5F3759DF'den çıkarmak kaba bir tahmin verir, tek bir Newton–Raphson yinelemesi de hatayı yüzde birin altına çeker.

Ünlenmesi, id Software'in kaynak kodunu 2005'te, artık ikonikleşmiş // what the fuck? yorumuyla birlikte yayımlamasıyla oldu. Kökeni sonradan 3dfx üzerinden Ardent Computer'dan Greg Walsh'a kadar izlendi. Oyunun çıktığı yıl x86, SSE ile rsqrtss komutunu kazandı; bu yüzden bugün hile çoğunlukla bir müze parçası.

← Sözlüğe dön