Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

f64: Wasm-Werttyp

Der f64 Werttyp hält einen 64-Bit Gleitkommawert mit doppelter Genauigkeit.

Syntax

wat
;; Function returning an f64 constant
(func (result f64)
  f64.const 3.141592653589793)

;; f64 parameter and local
(func (param $p f64) (local $tmp f64)
  ;; ...
)

;; Mutable f64 global
(global $ratio (mut f64) (f64.const 1.0))

Beschreibung

f64 Werte folgen dem IEEE 754 binary64 (Doppelpräzisions-) Format: ein Vorzeichenbit, elf Exponentenbits und zweiundfünfzig Mantissenbits. Sie decken ungefähr fünfzehn bis siebzehn Dezimalstellen Genauigkeit über den Bereich ±1,8 × 10³⁰⁸ ab, plus die speziellen Werte ±0, ±∞ und NaN.

Arithmetische Anweisungen (f64.add, f64.mul usw.) folgen den IEEE 754 "round-to-nearest-ties-to-even" Semantiken. Das genaue Bitmuster eines durch Arithmetik erzeugten NaN ist nicht deterministisch, daher sollten Sie sich nicht darauf verlassen, dass spezifische NaN-Payloads über Implementierungen oder Architekturen hinweg gleich sind.

f64 ist transparent: sein Bitmuster ist beobachtbar und f64 Werte können in linearem Speicher gespeichert werden. f64.reinterpret_i64 und seine Umkehrung erlauben es Ihnen, Bits zwischen f64 und i64 ohne Konvertierung zu verschieben.

JavaScript-Grenze

f64 entspricht genau der Darstellung von JavaScript Number, sodass Werte die Grenze ohne Verlust an Präzision überschreiten (mit der einzigen Ausnahme, dass JavaScript nur einen einzigen NaN-Wert hat).

Spezifikationen

Spezifikation
Unknown specification
# syntax-numtype

Siehe auch