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

View in English Always switch to English

f32: Wasm-Werttyp

Der f32-Werttyp hält einen 32-Bit-Gleitkommawert mit einfacher Genauigkeit.

Syntax

wat
;; Function returning an f32 constant
(func (result f32)
  f32.const 3.14)

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

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

Beschreibung

f32-Werte folgen dem IEEE 754-Format binary32 (Einfachpräzision): ein Vorzeichenbit, acht Exponentenbits und dreiundzwanzig Mantissenbits. Sie umfassen ungefähr sieben Dezimalstellen Genauigkeit über den Bereich ±3,4 × 10³⁸, plus die speziellen Werte ±0, ±∞ und NaN.

Arithmetische Anweisungen (f32.add, f32.mul und so weiter) folgen den IEEE 754 Rundungsregeln auf das nächste Doppelte, Binden an gerade. Das genaue Bitmuster eines durch Arithmetik erzeugten NaN ist nicht deterministisch; daher sollte man sich nicht darauf verlassen, dass spezifische NaN-Payloads über Implementierungen oder Architekturen hinweg gleich sind.

f32 ist transparent: sein Bitmuster ist beobachtbar und f32-Werte können im linearen Speicher gespeichert werden. f32.reinterpret_i32 und ihr Umkehrschluss erlauben es, Bits zwischen f32 und i32 ohne Konvertierung zu verschieben.

JavaScript-Grenze

f32-Werte überschreiten die JavaScript-Grenze als JavaScript-Number-Werte. Werte aus JavaScript werden auf die nächste darstellbare f32-Zahl gerundet.

Spezifikationen

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

Browser-Kompatibilität

Siehe auch