当前位置:编程学习 > JAVA >>

Java 实现快速平方根

下面的函数是C语言中的快速平方根函数,现在我想修改为在JAVA中也可以运行,请大牛帮忙修改下,小弟感激不尽!!
// 
// 计算参数x的平方根的倒数
// 
float InvSqrt (float x) { 
float xhalf = 0.5f*x; 
int i = *(int*)&x; 
i = 0x5f3759df - (i >> 1); // 计算第一个近似根
x = *(float*)&i; 
x = x*(1.5f - xhalf*x*x); // 牛顿迭代法
return x; 

Java 实现快速平方根 --------------------编程问答-------------------- java 有方法
	public static void main(String[] args) {
System.out.println(Math.sqrt(100));
}
--------------------编程问答-------------------- 嗯嗯,java类库中的Math类直接封装好了实现,如果更严谨一点,StrictMath更加精确,api与Math一致 --------------------编程问答--------------------
引用 2 楼 ysjian_pingcx 的回复:
嗯嗯,java类库中的Math类直接封装好了实现,如果更严谨一点,StrictMath更加精确,api与Math一致

--------------------编程问答-------------------- JAVA中不用自己写,Math.sqrt,楼主查一下API --------------------编程问答-------------------- 我知道Java的Math包里面已经有封装好的函数。但是我需要的是快速平方根,Math.sqrt精度很好,但是速度太慢。我现在不需要那么高的精度,需要很高的速度。 --------------------编程问答--------------------
引用 5 楼 wushiandy001 的回复:
我知道Java的Math包里面已经有封装好的函数。但是我需要的是快速平方根,Math.sqrt精度很好,但是速度太慢。我现在不需要那么高的精度,需要很高的速度。

专门给你测试了一下,jvm调用Math.sqrt计算一个20位的浮点型数平方根耗时21000纳秒,也就0.02毫秒这都满足不了你?
滚吧,java不适合你
--------------------编程问答-------------------- java的实现应该很优了。
你是到底想怎样算快速?
补充:Java ,  Java SE
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,