加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

golang float32/64与[]byte互转

发布时间:2020-12-16 18:05:33 所属栏目:大数据 来源:网络整理
导读:网络协议开发中经常需要将int、float、bool等转为二进制数据,float32、64 与[]byte处理: import ( "encoding/binary" "math")func Float32ToByte(float float32) []byte { bits := math.Float32bits(float) bytes := make([]byte,4) binary.LittleEndian.P

网络协议开发中经常需要将int、float、bool等转为二进制数据,float32、64 与[]byte处理:

import (
    "encoding/binary"
    "math"
)

func Float32ToByte(float float32) []byte {
    bits := math.Float32bits(float)
    bytes := make([]byte,4)
    binary.LittleEndian.PutUint32(bytes,bits)

    return bytes
}

func ByteToFloat32(bytes []byte) float32 {
    bits := binary.LittleEndian.Uint32(bytes)

    return math.Float32frombits(bits)
}

func Float64ToByte(float float64) []byte {
    bits := math.Float64bits(float)
    bytes := make([]byte,8)
    binary.LittleEndian.PutUint64(bytes,bits)

    return bytes
}

func ByteToFloat64(bytes []byte) float64 {
    bits := binary.LittleEndian.Uint64(bytes)

    return math.Float64frombits(bits)
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读