jansen 发表于 2008-4-23 14:07:20

跪求:开平方算法

由于本人用的tiny13空间有限,所以没有办法用一般的开方算法,不知道哪位大侠有比较小一点的开方算法,慢一点不要紧!谢谢

ATmega32 发表于 2008-4-23 14:30:10

http://www.ouravr.com/bbs/bbs_content.jsp?bbs_sn=866280&bbs_page_no=1&search_mode=1&search_text=开方&bbs_id=9999

zook0k 发表于 2008-4-23 14:56:55

unsigned int insqrt(unsigned long a)
{
    unsigned long i,c;
    unsigned long b = 0;
    for(i = 0x40000000; i != 0; i >>= 2)
    {
      c = i + b;
      b >>= 1;
      if(c <= a)
      {
            a -= c;
            b += i;
      }
    }
    return (unsigned int)b;
}
网上可以找到的16位的和32位的稍有不同

liguangqang 发表于 2008-4-23 15:52:59

直接转成某个数的平方,如值太小则加大,反之减小.看行不

jansen 发表于 2008-4-23 18:30:53

谢谢,各位!已搞定

tarchen 发表于 2020-2-18 16:48:17

本帖最后由 tarchen 于 2020-2-18 16:49 编辑

3楼的不错。谢谢!

DevLabs 发表于 2020-2-18 18:04:39

挖了个12年前坟......

xinliang 发表于 2020-2-18 23:25:44

害我又去知乎里看有人问的魔法数字:0x5f3759df,那些研究算法的人太牛了

dongwang_fl 发表于 2020-2-19 09:15:02

厉害。专门搜索了一下tiny13是个什么东西。
页: [1]
查看完整版本: 跪求:开平方算法