package util import ( "encoding/binary" "math" ) func LEFloat32ToByte(float float32) []byte { bits := math.Float32bits(float) bytes := make([]byte, 4) binary.LittleEndian.PutUint32(bytes, bits) return bytes } func LEByteToFloat32(bytes []byte) float32 { bits := binary.LittleEndian.Uint32(bytes) return math.Float32frombits(bits) } func LEFloat64ToByte(float float64) []byte { bits := math.Float64bits(float) bytes := make([]byte, 8) binary.LittleEndian.PutUint64(bytes, bits) return bytes } func LEByteToFloat64(bytes []byte) float64 { bits := binary.LittleEndian.Uint64(bytes) return math.Float64frombits(bits) } func BEFloat32ToByte(float float32) []byte { bits := math.Float32bits(float) bytes := make([]byte, 4) binary.BigEndian.PutUint32(bytes, bits) return bytes } func BEByteToFloat32(bytes []byte) float32 { bits := binary.BigEndian.Uint32(bytes) return math.Float32frombits(bits) } func BEFloat64ToByte(float float64) []byte { bits := math.Float64bits(float) bytes := make([]byte, 8) binary.BigEndian.PutUint64(bytes, bits) return bytes } func BEByteToFloat64(bytes []byte) float64 { bits := binary.BigEndian.Uint64(bytes) return math.Float64frombits(bits) }