登录
首页 >  Golang >  Go问答

如何将字节数组转换为 float64 数组

来源:stackoverflow

时间:2024-04-08 16:48:34 132浏览 收藏

积累知识,胜过积蓄金银!毕竟在Golang开发的过程中,会遇到各种各样的问题,往往都是一些细节知识点还没有掌握好而导致的,因此基础知识点的积累是很重要的。下面本文《如何将字节数组转换为 float64 数组》,就带大家讲解一下知识点,若是你对本文感兴趣,或者是想搞懂其中某个知识点,就请你继续往下看吧~

问题内容

我正在寻找将字节数组 ([]byte) 转换为 float64 ([]float64) 数组,但我没有任何线索来做到这一点。

我从rtlsdr包(https://pkg.go.dev/github.com/jpoirier/gortlsdr)读取数据并将其传递给Pwelch算法(https://pkg.go.dev/github.com/) mjibson/go-dsp/spectral)

是否可以将大型字节数组转换为 float64?

(+另一个问题:您认为可以将 Pwelch 函数转换为与 uint8 一起使用吗?)

非常感谢, 峰值速率


正确答案


byte/uint8 有 8 位,float64 有 64 位。您可以将 [8]byte 转换为 float64,如下所示:

package main

import (
    "encoding/binary"
    "fmt"
    "math"
)

main()
{
    in := 1.

    // Convert float64 to [8]byte
    var bytes [8]byte
    binary.LittleEndian.PutUint64(bytes[:], math.Float64bits(in))

    // Convert [8]byte to float64
    out := math.Float64frombits(binary.LittleEndian.Uint64(bytes[:]))

    fmt.Println(out)
}

您可能想选择 binary.bigendian

这就是你要找的吗?或者你想将长度为8n的byte数组转换为长度为n的float64数组?欢迎发表评论:-)

本篇关于《如何将字节数组转换为 float64 数组》的介绍就到此结束啦,但是学无止境,想要了解学习更多关于Golang的相关知识,请关注golang学习网公众号!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>