Dalam pakej Go fmt, %b untuk float64 dalam fmt.Printf mewakili nombor titik terapung dalam format binari, khususnya dikenali sebagai [saintifik tanpa perpuluhan tatatanda](https://golang.org/pkg/fmt/#hdr-Printing). Notasi ini menggunakan kuasa dua eksponen, serupa dengan format 'b' dalam strconv.FormatFloat.
fmt.Printf("0b%b\n", 255) // 0b11111111 fmt.Printf("%b\n", 1.0) // 4503599627370496p-52
Output menunjukkan:
49273392 dipecahkan sebagai:
Angka signifikan mewakili bahagian pecahan daripada nombor, tidak termasuk pendahuluan 1. Dalam kes ini, ia ialah 4503599627370496.
Eksponen menunjukkan kuasa dua yang mana signifikannya didarabkan untuk mendapatkan titik terapung sebenar nilai. Dalam kes ini, eksponen ialah -52, yang bermaksud significand didarab dengan 2^-52 untuk mendapatkan nilai akhir 1.0.
Minimum positif berganda subnormal dalam float64 ialah nilai bukan sifar positif terkecil yang boleh diwakili dalam format titik terapung ini. Ia dikira sebagai:
Exp(2, -1022 - 52)
dengan Exp ialah fungsi eksponen dan 1022 ialah nilai bias untuk float64. Hasilnya ialah nombor yang sangat kecil yang hampir dengan, tetapi tidak sama dengan, sifar:
5e-324
Nilai ini diwakili dalam binari sebagai 0X0000000000000001.
Atas ialah kandungan terperinci Bagaimanakah `%b` mewakili nilai float64 dalam `fmt.Printf` Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!