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-Format (doppelte Genauigkeit): ein Vorzeichenbit, elf Exponentenbits und zweiundfünfzig Mantissenbits. Sie decken ungefähr fünfzehn bis siebzehn Dezimalstellen der Genauigkeit über den Bereich von ±1,8 × 10³⁰⁸ ab, plus die speziellen Werte ±0, ±∞ und NaN.

Arithmetische Anweisungen (f64.add, f64.mul usw.) folgen den IEEE 754 Rundung-auf-nächsten-Gerade-Werten-Semantik. Das genaue Bitmuster eines durch Arithmetik erzeugten NaN ist nicht deterministisch, daher sollte man sich nicht darauf verlassen, dass spezifische NaN-Nutzlasten zwischen Implementierungen oder Architekturen gleich sind.

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

JavaScript-Grenze

f64 stimmt genau mit der Darstellung des JavaScript-Number überein, sodass Werte die Grenze ohne Präzisionsverlust überschreiten (mit der einen Ausnahme, dass JavaScript nur einen singulären NaN-Wert hat).

Spezifikationen

Spezifikation
WebAssembly Core Specification
# number-types%E2%91%A0

Browser-Kompatibilität

Siehe auch