Verstehen von „%b“ für Float64 in fmt.Printf
Im Go-fmt-Paket stellt %b für float64 in fmt.Printf die Gleitkommazahl in dar das Binärformat, insbesondere bekannt als [dezimallose wissenschaftliche Notation](https://golang.org/pkg/fmt/#hdr-Printing). Diese Notation verwendet eine Potenz von zwei Exponenten, ähnlich dem „b“-Format in strconv.FormatFloat.
Beispiel:
fmt.Printf("0b%b\n", 255) // 0b11111111
fmt.Printf("%b\n", 1.0) // 4503599627370496p-52
Nach dem Login kopieren
Die Ausgabe zeigt:
- 0b11111111: Binäre Darstellung von 255 (dezimal) zerlegt werden als:
- 4503599627370496: Signifikand (der Bruchteil ohne die führende 1)
p-52: Exponent (Zweierpotenz)
Signifikand:
- Der Signifikand stellt den Bruchteil der Zahl dar, ausgenommen die führende 1. In diesem Fall ist es 4503599627370496.
- Exponent:
Der Exponent gibt die Zweierpotenz an, mit der der Signifikand multipliziert wird, um den tatsächlichen Gleitkommawert zu erhalten. In diesem Fall ist der Exponent -52, was bedeutet, dass der Signifikand mit 2^-52 multipliziert wird, um den Endwert 1,0 zu erhalten.
Min Subnormal Positive Double in Float64
Das minimale Positive subnormal double in float64 ist der kleinste positive Wert ungleich Null, der in diesem Gleitkommaformat dargestellt werden kann. Es wird wie folgt berechnet:
wobei Exp die Exponentialfunktion und 1022 der Bias-Wert für float64 ist. Das Ergebnis ist eine extrem kleine Zahl nahe Null, aber nicht gleich Null:
Dieser Wert wird binär als 0X0000000000000001 dargestellt.
Das obige ist der detaillierte Inhalt vonWie stellt „%b' float64-Werte in „fmt.Printf' von Go dar?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!