i = 0x5f3759df - ( i >> 1 ); // what the fuck?

漢語多功能字庫

7 回覆
2 Like 2 Dislike
漢語多功能字庫 2023-01-20 23:31:14
反平方根快速演算法 Fast inverse square root

簡單啲嚟講,為咗計算速度,犧牲少少精確度

就會出咗咁嘅嘢出嚟
0x5f3759df - ( i >> 1 );



float Q_rsqrt( float number )
{
	long i;
	float x2, y;
	const float threehalfs = 1.5F;

	x2 = number * 0.5F;
	y  = number;
	i  = * ( long * ) &y;                       // evil floating point bit level hacking
	i  = 0x5f3759df - ( i >> 1 );               // what the fuck? 

	y  = * ( float * ) &i;
	y  = y * ( threehalfs - ( x2 * y * y ) );   // 1st iteration
//	y  = y * ( threehalfs - ( x2 * y * y ) );   // 2nd iteration, this can be removed

	return y;
}



https://en.m.wikipedia.org/wiki/Fast_inverse_square_root


不過識依啲冇乜用,當冷知識知道下都幾好
五河琴里 2023-01-20 23:36:51
留名學嘢
程式猿 2023-01-20 23:47:56
好似見過
漢語多功能字庫 2023-01-20 23:50:57
撞post
?
簡單隨緣 2023-01-20 23:54:38
hi
簡單隨緣 2023-01-20 23:54:53
ALPHA BB
Stefan 2023-01-21 00:08:15
吹水台自選台熱 門最 新手機台時事台政事台World體育台娛樂台動漫台Apps台遊戲台影視台講故台健康台感情台家庭台潮流台美容台上班台財經台房屋台飲食台旅遊台學術台校園台汽車台音樂台創意台硬件台電器台攝影台玩具台寵物台軟件台活動台電訊台直播台站務台黑 洞