[英]Are Float32Array operations converted to double?
如果我有這個 javascript 代碼:
var a = new Float32Array(4);
var b = new Float32Array(4);
var r = new Float32Array(4);
//fill here "a" and "b" with random numbers
r[0] = a[0] + b[0];
r[1] = a[1] - b[1];
r[2] = a[2] * b[2];
r[3] = a[3] / b[3];
在執行操作之前,這些浮點數是否已轉換為雙精度數?
如果我在 c++ 和 javascript 代碼(沒有 sqrt()、sin()、tan()...等)上運行相同的 float32 操作,浮點數會在這兩種語言上保持相同的值嗎?
JavaScript 數學運算( +
、 -
、 *
、 /
)始終使用 64 位雙精度值完成。 類型化數組是關於存儲解釋的; 一旦從類型化數組中檢索到一個值,它就是一個普通的 JavaScript 數字。
在某些情況下,數字中的值被視為整數,但數字仍然是 64 位雙精度數。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.