f32: Wasm-Typ
Der f32-Werttyp 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äzision) Format: ein Vorzeichenbit, acht Exponentenbits und dreiundzwanzig Signifikantenbits. Sie umfassen ungefähr sieben Dezimalstellen der Genauigkeit über den Bereich ±3,4 × 10³⁸, plus die Sonderwerte ±0, ±∞ und NaN.
Arithmetische Anweisungen (f32.add, f32.mul und so weiter) folgen dem Round-to-Nearest-Ties-to-Even-Semantik von IEEE 754. Das genaue Bitmuster eines durch Arithmetik erzeugten NaN ist nicht deterministisch, daher sollten Sie sich nicht darauf verlassen, dass spezifische NaN-Payloads zwischen Implementierungen oder Architekturen gleich sind.
f32 ist transparent: Sein Bitmuster ist beobachtbar, und f32-Werte können im linearer Speicher gespeichert werden. f32.reinterpret_i32 und seine Umkehrung ermöglichen es Ihnen, Bits zwischen f32 und i32 ohne Umwandlung zu verschieben.
JavaScript-Grenze
f32-Werte überqueren die JavaScript-Grenze als JavaScript-Number-Werte. Werte aus JavaScript werden auf den nächsten darstellbaren f32 gerundet.
Spezifikationen
| Spezifikation |
|---|
| Unknown specification> # syntax-numtype> |