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

时间:2018-05-01 00:47:43

标签: go types format

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

fmt.Printf("%b", 52) // 110100
fmt.Printf("%b", 52.0) // 7318349394477056p-47

1 个答案:

答案 0 :(得分:8)

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

fmt.Printf("%b\n", math.Float64bits(52.0))

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