[新版代码测试帖]J2ME快速开平方根

xueyong1203 2007-09-29 12:18:57

/**
* 求平方根
* @param value 定义域
* @return 值域
*/
final public static int sqrt(int value) {
int sqrt = 0;
for (int k = 0x100000; k != 0; k >>= 2) {
int tmp = sqrt + k;
sqrt >>= 1;
if (tmp <= value) {
value -= tmp;
sqrt += k;
}
}
return sqrt;
}

...全文
147 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
xueyong1203 2007-10-07
  • 打赏
  • 举报
回复
Sorry, 这个算法有一些改进, Thanks Redduke!

http://blog.csdn.net/xueyong1203/archive/2007/09/29/1806410.aspx

xueyong1203 发表于2007-09-30 10:09:10 IP: 218.79.102.*
对那个sqrt函数, 有些修改, 感谢Redduke测试并提出解决方案:

现在的问题是 k = 0x100000; 这时候, sqrt的最大值不能超过2047*2047, 再大的话, 返回的结果就还是2047了..

解决方法是让k = 0x40000000; 这就支持Integer.MAX_VALUE了

再次感谢Redduke!
benben134 2007-09-30
  • 打赏
  • 举报
回复
好贴!!但是不知道会不会影响速度。。。
www.5izdl.cn 我的主页,欢迎大家光临
Moon0Light 2007-09-30
  • 打赏
  • 举报
回复
这个算法…………厉害
xueyong1203 2007-09-29
  • 打赏
  • 举报
回复
xueyong1203 2007-09-29
  • 打赏
  • 举报
回复
不错, 不错
不过还是没有eclipse的强大

yanhan0615 2007-09-29
  • 打赏
  • 举报
回复
很好,很强大!
「已注销」 2007-09-29
  • 打赏
  • 举报
回复
csdn改版后速度太慢

13,100

社区成员

发帖
与我相关
我的任务
社区描述
Java J2ME
社区管理员
  • J2ME社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧