【问题标题】:Basic Maths on AS3 ByteArraysAS3 ByteArrays 上的基础数学
【发布时间】:2011-12-08 01:57:37
【问题描述】:

有谁知道是否有可能对字节数组进行简单的元素数学运算而无需显式编程,例如用于将字节数组(浮点类型)的所有元素乘以常量或将两个字节数组的元素(具有指定数据类型)相加的内置函数?

谢谢!

【问题讨论】:

    标签: actionscript-3 math bytearray


    【解决方案1】:

    为什么不考虑使用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 );
    

    【讨论】:

    • 如果您还没有字节数组中的数据,那确实是一个很好且快速的解决方案。但是如果你有一个字节数组中的数据,事情看起来会有所不同。在这种情况下,您必须首先将 bytearray 数据转换为向量,然后执行数学运算,最后必须将它们转换回 bytearray,这种转换非常耗时(例如,对于实时声音处理)。因此,内在函数将是一种更快的方法...... :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-04-10
    • 2010-12-08
    • 2012-07-06
    • 1970-01-01
    • 2022-11-27
    • 2010-12-10
    • 1970-01-01
    相关资源
    最近更新 更多