go语言实现sqrt的方法_Golang

本文实例讲述了go语言实现sqrt的方法。分享给大家供大家参考。具体实现方法如下:

复制代码 代码如下:

package mymath
import "math"
func InvSqrt(x float32) float32 {
    var xhalf float32 = 0.5*x // get bits for floating VALUE
    i := math.Float32bits(x) // gives initial guess y0
    i = 0x5f375a86 - (i>>1) // convert bits BACK to float
    x = math.Float32frombits(i) // Newton step, repeating increases accuracy
    x = x*(1.5-xhalf*x*x)
    x = x*(1.5-xhalf*x*x)
    x = x*(1.5-xhalf*x*x)
 return 1/x
}

希望本文所述对大家的Go语言程序设计有所帮助。

时间: 2024-11-13 06:37:11

go语言实现sqrt的方法_Golang的相关文章

Go语言Echo服务器的方法_Golang

本文实例讲述了Go语言Echo服务器的方法.分享给大家供大家参考.具体如下: 复制代码 代码如下: package main import (     "net"     "io" ) func main() {     serv, e := net.Listen("tcp", ":12345")     if e != nil {         panic(e)     }     defer serv.Close()  

Go语言文件操作的方法_Golang

本文实例讲述了Go语言文件操作的方法.分享给大家供大家参考.具体如下: 关闭文件: 复制代码 代码如下: func (file *File) Close() os.Error {     if file == nil {         return os.EINVAL     }     e := syscall.Close(file.fd)     file.fd = -1 // so it can't be closed again     if e != 0 {         retu

Go语言单链表实现方法_Golang

本文实例讲述了Go语言单链表实现方法.分享给大家供大家参考.具体如下: 1. singlechain.go代码如下: 复制代码 代码如下: ////////// //单链表 -- 线性表 package singlechain //定义节点 type Node struct {     Data int     Next *Node } /* * 返回第一个节点 * h 头结点  */ func GetFirst(h *Node) *Node {     if h.Next == nil {  

Go语言使用MySql的方法_Golang

本文实例讲述了Go语言中使用MySql的方法.分享给大家供大家参考.具体如下: 此代码需要先安装mysql的go语言驱动. 首先安装mysql的go语言驱动: 复制代码 代码如下: go get github.com/ziutek/mymysql/godrv 示例代码如下: 复制代码 代码如下: package users import (     "database/sql"     "fmt"     _ "github.com/ziutek/mymy

在ubuntu下构建go语言开发环境的方法_Golang

新版本的go有更好的性能,ubuntu软件库只有交旧的版本,通过源码安装go1.2 具体步骤: 1.去官网下载go1.1.2的tarball,我下载到tem目录 2.打开终端cd /usr/local, tar -zxvf go1.1.2.linux-386.tar.gz 将源码文件解压缩到/usr/local目录,如果解压到其他目录,需要自己设置GOROOT 3.安装gcc工具,因为golang有些功能是使用c写 sudo apt-get install bison gawk gcc libc

Go语言中常量定义方法实例分析_Golang

本文实例讲述了Go语言中常量定义方法.分享给大家供大家参考.具体分析如下: 常量的定义与变量类似,只不过使用 const 关键字. 常量可以是字符.字符串.布尔或数字类型的值. 复制代码 代码如下: package main import "fmt" const Pi = 3.14 func main() {     const World = "世界"     fmt.Println("Hello", World)     fmt.Printl

go语言使用scp的方法实例分析_Golang

本文实例讲述了go语言使用scp的方法.分享给大家供大家参考.具体如下: 复制代码 代码如下: package main import (     "code.google.com/p/go.crypto/ssh"     "crypto"     "crypto/rsa"     "crypto/x509"     "encoding/pem"     "fmt"     "

C语言实现数字滤波的方法

问题描述 C语言实现数字滤波的方法 本人现做数字电源,由于纹波大导致采样跳动,现想用数字滤波解决这个问题,但是由于本人知识有限,用MATLAB生成头文件之后,编写出来的程序始终不行,还请各位大侠不吝赐教,本人感谢不尽--谢谢 解决方案 IIR数字滤波器实现(mantlab+C语言) - CSDN blog [数字信号处理]IIR滤波器的直接设计(C代码)

编程c语言 c语言-求解c语言上sqrt(1/2)的结果,恳求大家帮帮忙,感激不尽

问题描述 求解c语言上sqrt(1/2)的结果,恳求大家帮帮忙,感激不尽 在c语言上sqrt(1/2)的结果,是0还是二分之根号二(当然显示时转化为双精度小数形式),恳求大家帮帮忙,电脑不在身边,没法验证,谢谢了! 解决方案 显示0,因为 1/2 = 0 要显示小数就用 sqrt(1.0/2) 解决方案二: 环境vs6.0 win7