我正在将 Java 类移植到 AS3。该课程的大部分内容都涉及位级编程。我遇到过用 Java 编写的这段代码:
int pixels[] = new int[width * height];
short gpixels[] = new short [width * height];
在代码中,我遇到了这样的事情:
gpixels[i]
AS3中这两个变量的等价物是什么?它们是字节数组还是整数?我认为“short”是一个 16 位整数,而“int”是一个 32 位整数。
我正在将 Java 类移植到 AS3。该课程的大部分内容都涉及位级编程。我遇到过用 Java 编写的这段代码:
int pixels[] = new int[width * height];
short gpixels[] = new short [width * height];
在代码中,我遇到了这样的事情:
gpixels[i]
AS3中这两个变量的等价物是什么?它们是字节数组还是整数?我认为“short”是一个 16 位整数,而“int”是一个 32 位整数。
ActionScript 没有 short、long、float、double 等...
您可以将数值类型映射到 int、uint 或 Number。
Java 类型 AS3 类型 ----- -------------- java.lang.Integer 整数 java.lang.Short int java.lang.Long 数字 java.lang.Double Number java.lang.浮点数 AS3 整数限制:-2147483647 到 2147483647 AS3 uint 限制:0 到 4294967295 AS3 数量限制:-1.79769313486231e+308 到 1.79769313486231e+308
AS3 Number 是 IEEE-754 双精度浮点数
AS3 具有字节和位操作。
当您说明数据类型的大小时,您是正确的,short 是 16 位,int 是 32 位。我发现我最常看到在有人试图在数组中保存内存时使用 short - 毕竟,shorts 是整数大小的一半。
根据实际数组的大小以及您对存储在该位置的值的处理方式(颜色代码等),您可能希望坚持使用尽可能小的数据类型。
一个 640 x 480 整数的数组将至少占用 1,228,800 字节,没有开销,而一个 640 x 480 的数组将只占用 614,400 字节。
如有疑问,请使用尽可能少的内存,尤其是在图形环境中,您可以通过缓冲区快速消耗大量内存。