Makale Detaylı Anlatımı ve Örnek Kullanımı:
Bu öneri, JavaScript'te 16-bit kayan nokta sayılarını (Float16) desteklemek için yeni bir Float16Array
türü, DataView
üzerinde Float16 desteği ve Math.f16round
metodu ekler. Bu özellikler, özellikle bellek kullanımının kritik olduğu uygulamalarda büyük avantajlar sağlar.
Float16Array
, 16-bit kayan nokta sayılarını depolamak için kullanılan yeni bir türdür. Bu, Float32Array
ve Float64Array
gibi mevcut türlere benzer, ancak daha az bellek kullanır.
const float16Array = new Float16Array([1.5, 2.3, 3.7]);
console.log(float16Array); // Çıktı: Float16Array [1.5, 2.3, 3.7]
DataView
, Float16 verilerini okumak ve yazmak için yeni metodlar sunar. Bu, mevcut DataView
API'sini genişletir.
const buffer = new ArrayBuffer(4);
const view = new DataView(buffer);
view.setFloat16(0, 1.5, true); // Little-endian formatında yazma
console.log(view.getFloat16(0, true)); // Çıktı: 1.5
Math.f16round
, bir sayıyı Float16 formatına yuvarlamak için kullanılan yeni bir metoddur. Bu, özellikle Float16 verileriyle çalışırken hassasiyet kontrolü sağlar.
Math.f16round(1.337); // 1.3369140625
Math.f16round(1.337) === 1.337; // false
Referanslar ve Linkler:
- TC39 Proposal: Float16 on TypedArrays, DataView, Math.f16round
- MDN Web Docs: TypedArray
- MDN Web Docs: DataView