May. 22nd, 2010

0x5f3759df

May. 22nd, 2010 06:35 am
xen0n: (Default)
Началось все с этого комикса и блестящего примера про 0x5f3759df.

В хрен знает каком году Пифагор открыл, что квадрат гипотенузы равен сумме квадратов катетов. Очень полезное, надо сказать, знание. А вот если у нас есть сумма квадратов ("катетов") и нужно найти не квадрат гипотенузы, а саму гипотенузу? Надо быстро вычислить обратный корень. В жизни не страшно если это займет на час больше, а если это надо сделать в компьютере, который должен эти корни сотни раз за секунду считать?

И тут - бинго!! На помощь приходит 0x5f3759df! Именно это (экспериментально, перебором полученное число) помогает _быстро_ вычислять квадратные корни 32-битовых чисел специальным алгоритмом.

Кому нахрен нужно это число в реальной жизни? Например, всем, кто играл в третий квейк. Именно там оно используется для графических рассчетов.

Знание, по "мощности" ненамного уступающее теореме Пифагора (а если посчитать количество раз, сколько применяли за всю историю теорему пифагора, и сколько раз вычисляются корни в квейке - то может быть и более часто используемое) и где впервые использовано - в несерьезной игрушке. Кто-то просто получил ТЗ, столкнулся с вычислительной проблемой, задумался над методами решения и... решил!

October 2023

S M T W T F S
1234 567
891011121314
15161718192021
22232425262728
293031    

Most Popular Tags

Page Summary

Style Credit

Expand Cut Tags

No cut tags
Page generated Aug. 9th, 2025 11:38 pm
Powered by Dreamwidth Studios