f32: Wasm-Datentyp
Der f32-Datentyp hält einen 32-Bit Gleitkommawert mit einfacher Genauigkeit.
Syntax
;; 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> |