1
數學基礎沒有人知道是否有任何可能性做的ByteArray簡單的elementwise數學而無需將其明確地,例如編程一個內置函數用於將一個bytearray(float類型)的所有元素乘以一個常量或者添加兩個bytearrays(具有指定的數據類型)的元素?在AS3的ByteArray
謝謝!
數學基礎沒有人知道是否有任何可能性做的ByteArray簡單的elementwise數學而無需將其明確地,例如編程一個內置函數用於將一個bytearray(float類型)的所有元素乘以一個常量或者添加兩個bytearrays(具有指定的數據類型)的元素?在AS3的ByteArray
謝謝!
你爲什麼不考慮使用Vector.<Number>
代替ByteArray
尤其是當陣列中的所有元素是同一類型的?
那麼你可以使用這樣的代碼:
// create vector with sample data
var floatVector : Vector.<Number> = Vector.<Number>([5.1, 5.2, 5.3]);
// define a method that will work on each element
function multipleElementByTwo (item : Number, index : int, vector : Vector.<Number>) : void {
vector[index] = item * 2;
}
// see original data
trace(floatVector);
// run through all elements
floatVector.forEach(multipleElementByTwo);
// see modified data
trace(floatVector);
事實上這就是一個很好的和快速的解決方案,如果你不已經有一個字節組數據。但是如果你有一個字節陣列中的數據,情況就會不同。在這種情況下,您必須首先將字節數組數據轉換爲矢量,然後執行數學運算並最終將其轉換回字節數組,並且這種轉換非常耗時(例如,用於實時聲音處理)。因此內在的功能將是一種更快的方式...... :) – spacetec