如何在Go中打印float的二进制表示?

Sim*_*mon 2 format types go

fmt包允许我们使用%b打印整数的二进制表示.如何获得浮点数的等效结果而不是科学计数法?

fmt.Printf("%b", 52) // 110100
fmt.Printf("%b", 52.0) // 7318349394477056p-47
Run Code Online (Sandbox Code Playgroud)

Jim*_*imB 8

您可以math使用math.Float64bits或获取包的浮点数math.Float32bits.将其与%b格式化动词组合将显示float的二进制表示.

fmt.Printf("%b\n", math.Float64bits(52.0))
Run Code Online (Sandbox Code Playgroud)

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