编程语言中的快速反平方根 这是我用多种语言编写快速反平方根算法所面临的挑战的资源库。 用多种语言编写一种算法很有趣。 我用从未有过的语言写过一些代码。 我了解了语言之间的差异和相似之处,以及其他语言如何影响语言。 这个挑战只是我前进的道路。 现在,我想继续学习一些在挑战之前从未想到过的语言。 例如,我从未经历过Rust,OCaml和Erlang,但现在我认为我应该继续学习这些语言。 为什么选择此算法? 这是C语言的实现。 float fastInvSqrt ( float x) { int i = *( int *)&x; i = 0x5f3759df - (i >> 1 ); float y = *( float *)&i; return y * ( 1 . 5F - 0 . 5F * x * y * y); } 指针转换魔术是该算法的最重要部分。 我不解释为什么代码在这里起作用,请参考其他参考。 首先,选择算法不应太容易,也不应太困难。 如果问题很容易解决,我可以看一眼语言教程就能编写代码。 另一方面,如果太困难,我可以放弃挑战。 其次,在某些语言中
1