Math.f16round()
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Die statische Methode Math.f16round()
gibt die nächstliegende 16-Bit-Halbgenauigkeit Gleitkommardarstellung einer Zahl zurück.
Probieren Sie es aus
Syntax
Math.f16round(doubleFloat)
Parameter
doubleFloat
-
Eine Zahl.
Rückgabewert
Die nächstliegende 16-Bit-Halbgenauigkeit Gleitkommardarstellung von doubleFloat
.
Beschreibung
Math.f16round
ist das 16-Bit-Gegenstück zu Math.fround()
. Es soll einige Ungenauigkeiten beim Umgang mit float16
-Zahlen glätten, z.B. beim Lesen aus einem Float16Array
. Intern behandelt JavaScript die Zahl weiterhin als 64-Bit-Gleitkommazahl. Es führt lediglich ein "Rundung auf gerade" am 10. Bit der Mantisse durch und setzt alle folgenden Mantissenbits auf 0
. Wenn die Zahl außerhalb des Bereichs einer 16-Bit-Gleitkommazahl liegt, wird Infinity
oder -Infinity
zurückgegeben.
Da f16round()
eine statische Methode von Math
ist, wird sie immer als Math.f16round()
verwendet, statt als Methode eines von Ihnen erstellten Math
-Objekts (da Math
kein Konstruktor ist).
Beispiele
Verwendung von Math.f16round()
Die Zahl 1.5 kann im binären Zahlensystem genau dargestellt werden und ist sowohl in 16-Bit als auch in 64-Bit identisch:
Math.f16round(1.5); // 1.5
Math.f16round(1.5) === 1.5; // true
Jedoch kann die Zahl 1.337 im binären Zahlensystem nicht genau dargestellt werden, sodass sie sich in 16-Bit und 64-Bit unterscheidet:
Math.f16round(1.337); // 1.3369140625
Math.f16round(1.337) === 1.337; // false
100000 ist zu groß für eine 16-Bit-Gleitkommazahl, daher wird Infinity
zurückgegeben:
Math.f16round(100000); // Infinity
Spezifikationen
Specification |
---|
Float16Array # sec-math.f16round |
Browser-Kompatibilität
BCD tables only load in the browser