我想将float64数转换为int64数.也就是说,我想读取float64寄存器的二进制内容,就好像它是int64值一样.我的意思是,我想要等同于以下C代码
long y;
float x = 1.2;
y = * ( long * ) &x;
Run Code Online (Sandbox Code Playgroud)
我怎么做?
这是我的尝试不起作用.
package main
import (
"fmt"
)
func main() {
x := float64(1.2)
y := *((*int64)(&x))
fmt.Println("Ans: ", y)
}
Run Code Online (Sandbox Code Playgroud)
也就是说,我想读取float64寄存器的二进制内容,就好像它是int64值一样.
试试math.Float64bits
:
x := float64(1.2)
fmt.Printf("Ans: %x", math.Float64bits(x))
Run Code Online (Sandbox Code Playgroud)
https://play.golang.org/p/QB4jqwJD0f
打印Ans: 3ff3333333333333
.
归档时间: |
|
查看次数: |
1915 次 |
最近记录: |