gpt4 book ai didi

pointers - 在golang中将一个指针转换为另一种类型

转载 作者:IT王子 更新时间:2023-10-29 01:51:07 34 4
gpt4 key购买 nike

我想将 float64 数字转换为 int64 数字。也就是说,我想读取 float64 寄存器的二进制内容,就好像它是一个 int64 值一样。我的意思是,我想要相当于以下 C 代码的 go

long y;
float x = 1.2;
y = * ( long * ) &x;

我该怎么做?

这是我的尝试,但没有用。

package main

import (
"fmt"
)

func main() {

x := float64(1.2)
y := *((*int64)(&x))

fmt.Println("Ans: ", y)

}

最佳答案

That is, I want to read the binary contents of the float64 register as if it is a int64 value.

尝试math.Float64bits:

x := float64(1.2)
fmt.Printf("Ans: %x", math.Float64bits(x))

https://play.golang.org/p/QB4jqwJD0f

打印答案:3ff3333333333333

关于pointers - 在golang中将一个指针转换为另一种类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37694980/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com