在 Go fmt 包中,fmt.Printf 中 float64 的 %b代表浮點數二進位格式,特別稱為[無十進位科學符號](https://golang.org/pkg/fmt/#hdr-Printing)。此表示法使用二次指數的冪,類似於 strconv.FormatFloat 中的 'b' 格式。
fmt.Printf("0b%b\n", 255) // 0b11111111 fmt.Printf("%b\n", 1.0) // 4503599627370496p-52
輸出顯示:
4503599627370496p-52 可以是細分為:
有效數代表數字的小數部分,不包括前導1 。本例為 4503599627370496。
指數表示有效數乘以 2 的冪以獲得實際值浮點數值。在這種情況下,指數為 -52,這表示尾數乘以 2^-52 得到最終值 1.0。
最小正值float64 中的次正規雙精確度值是可以以此浮點格式表示的最小正非零值。其計算方式為:
Exp(2, -1022 - 52)
其中 Exp 是指數函數,1022 是 float64 的偏差值。結果是一個非常小的數字,接近但不等於零:
5e-324
該值以二進位表示為 0X0000000000000001。
以上是在 Go 的「fmt.Printf」中,「%b」如何表示 float64 值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!