Pemformatan Titik Terapung dengan "%b"
Penentukan format "%b" dalam fmt.Printf untuk float64 memaparkan perpuluhan- kurang tatatanda saintifik dengan eksponen iaitu kuasa dua. Perwakilan ini serupa dengan output strconv.FormatFloat apabila menggunakan format "b".
Contoh:
fmt.Printf("0b%b\n", 255) // Output: 0b11111111 fmt.Printf("%b\n", 1.0) // Output: 4503599627370496p-52
Memahami "4503599627372496p- "
The Perwakilan "4503599627370496p-52" dipecahkan seperti berikut:
Untuk mengira nilai sebenar, kami menggunakan formula berikut:
value = 2^(exponent - exponent bias) * 1.fraction
Dalam ini kes:
value = 2^(0 - 1023) * 1.4503599627370496 value = 2^-1023 * 1.4503599627370496 value = 1.0
Oleh itu, "4503599627370496p-52" mewakili nombor 1.0 dengan tatatanda saintifik tanpa perpuluhan.
Mengira Min Berganda Positif SubnormalNilai berganda positif subnormal minimum dalam float64 diperoleh dengan menetapkan medan eksponen kepada nilai terkecil yang mungkin (1) dan medan pecahan kepada semua sifar. Ini bersamaan dengan corak bit berikut:
0000000000000000000000000000000000000000000000000000000000000001
fmt.Printf("%v\n", math.Float64frombits(1)) // Output: 5e-324
Atas ialah kandungan terperinci Bagaimanakah Penentu Format `%b` Go Mewakili Nombor Titik Terapung?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!