Math.f16round()
Math.f16round()
静态方法返回数字的最近的 16 位半精度 浮点数表示。
试一试
语法
js
Math.f16round(doubleFloat)
参数
doubleFloat
-
一个数字。
返回值
doubleFloat
的最近的 16 位半精度 浮点数表示。
描述
Math.f16round
是 Math.fround()
的 16 位对应方法。它旨在在与 float16 数字交互时解决一些问题,例如从 Float16Array
中读取时。在内部,JavaScript 继续将数字视为 64 位浮点数,它只是对尾数的第 10 位执行“舍入到偶数”,并将所有后续的尾数位设置为 0
。如果数字超出 16 位浮点数的范围,则返回 Infinity
或 -Infinity
。
因为 f16round()
是 Math
的静态方法,所以您始终将其用作 Math.f16round()
,而不是作为您创建的 Math
对象的方法(Math
不是构造函数)。
示例
使用 Math.f16round()
数字 1.5 可以精确地用二进制数表示,并且在 16 位和 64 位中相同
js
Math.f16round(1.5); // 1.5
Math.f16round(1.5) === 1.5; // true
但是,数字 1.337 无法精确地用二进制数表示,因此它在 16 位和 64 位中有所不同
js
Math.f16round(1.337); // 1.3369140625
Math.f16round(1.337) === 1.337; // false
100000 对 16 位浮点数来说太大,因此返回 Infinity
js
Math.f16round(100000); // Infinity
规范
规范 |
---|
Float16Array # sec-math.f16round |
浏览器兼容性
BCD 表格仅在浏览器中加载