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-Typ

Der f64 Wertetyp hält einen 64-Bit-Doppelpräzisions-Fließkommawert.

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 Signifikantenbits. Sie decken grob fünfzehn bis siebzehn Dezimalstellen über den Bereich ±1,8 × 10³⁰⁸ ab, sowie die speziellen Werte ±0, ±∞ und NaN.

Arithmetische Anweisungen (f64.add, f64.mul usw.) folgen den IEEE 754 Rundungsregeln „Runden zur nächsten geraden Zahl“. 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 bleiben.

f64 ist transparent: Sein Bitmuster ist beobachtbar und f64-Werte können im linearen Speicher gespeichert werden. f64.reinterpret_i64 und dessen Umkehrung ermöglichen es, Bits zwischen f64 und i64 ohne Konvertierung zu verschieben.

JavaScript-Grenze

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

Spezifikationen

Spezifikation
Unknown specification
# syntax-numtype

Siehe auch