代码之家  ›  专栏  ›  技术社区  ›  Simon

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

  •  2
  • Simon  · 技术社区  · 6 年前

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

    fmt.Printf("%b", 52) // 110100
    fmt.Printf("%b", 52.0) // 7318349394477056p-47
    
    1 回复  |  直到 6 年前
        1
  •  9
  •   JimB    6 年前

    您可以使用 math 包使用 math.Float64bits math.Float32bits .将此与 %b 格式化谓词将显示浮点的二进制表示形式。

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

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