这个函数实现的是快速计算浮点数的平方根。它使用了一种称为'快速反向平方根'的算法,可以在不使用库函数的情况下快速计算浮点数的平方根。

float calc( float aa) {
    long i;
    float x2, y;
    const float xx3 = 1.5F;

    x2 = aa * 0.5F;
    y  = aa;
    i  = * ( long * ) &y; 
    i  = 0x5f3759df - ( i >> 1 ); 
    y  = * ( float * ) &i;
    y  = y * ( xx3 - ( x2 * y * y ) );
    y  = y * ( xx3 - ( x2 * y * y ) );  
    return y;
}
快速反向平方根算法:C语言实现浮点数平方根计算

原文地址: https://www.cveoy.top/t/topic/lfpk 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录