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

Der f32-Datentyp 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 binary32 (Einzelpräzisions)-Format: ein Vorzeichenbit, acht Exponentenbits und dreiundzwanzig Mantissenbits. Sie decken ungefähr sieben Dezimalstellen Genauigkeit über den Bereich ±3,4 × 10³⁸ ab, plus die speziellen Werte ±0, ±∞ und NaN.

Arithmetische Anweisungen (f32.add, f32.mul, und so weiter) folgen der IEEE 754 Rundung-zu-Nächstem-Werte-Tie-Break-semantik. Das genaue Bitmuster eines durch Arithmetik erzeugten NaN ist nicht deterministisch, daher sollten Sie sich nicht darauf verlassen, dass bestimmte NaN-Payloads zwischen Implementierungen oder Architekturen gleich sind.

f32 ist transparent: sein Bitmuster ist beobachtbar, und f32-Werte können im linearen Speicher gespeichert werden. f32.reinterpret_i32 und sein Inverses ermöglichen es, Bits zwischen f32 und i32 zu bewegen, ohne Konvertierung.

JavaScript-Grenze

f32-Werte überschreiten die JavaScript-Grenze als JavaScript-Number-Werte. Werte aus JavaScript werden auf den nächsten darstellbaren f32 gerundet.

Spezifikationen

Spezifikation
Unknown specification
# syntax-numtype

Siehe auch