WEB开发网
开发学院图形图像Flash 动画制作之&按位AND 运算符 阅读

动画制作之&按位AND 运算符

 2012-06-02 20:00:27 来源:开发学院   
核心提示:& 按位 AND 运算符expression1 & expression2将 expression1 和 expression2 转换为 32 位无符号整数,并对整数参数的每一位执行布尔 AND 运算,动画制作之&按位AND 运算符,浮点数通过舍去小数点后面的所有位来转换为整数,结果是一个新的 32 位整数,仅在两个数

& 按位 AND 运算符

expression1 & expression2

将 expression1 和 expression2 转换为 32 位无符号整数,并对整数参数的每一位执行布尔 AND 运算。浮点数通过舍去小数点后面的所有位来转换为整数。结果是一个新的 32 位整数。

正整数转换为无符号的十六进制值,其最大值为 4294967295 或 0xFFFFFFFF;转换大于最大值的数时,会舍去最高有效位,使该值仍保持为 32 位。负数通过 2 的补码标记转换为无符号的十六进制值,其最小值为 -2147483648 或 0x800000000;小于最小值的数转换为精度更高的 2 的补码,同时也会舍去最高有效位。

由于返回值解释为带符号的 2 的补码数,因此,返回值将是 -2147483648 到 2147483647 范围中的一个整数。

可用性:Flash Player 5;ActionScript 1.0

操作数

expression1 : Number - 一个数字。

expression2 : Number - 一个数字。

返回 Number - 按位运算的结果。

示例

下面的示例比较数字的位表示形式,仅当相同位置上的位都是 1 时才返回 1。在此 ActionScript 中,将 13(二进制的 1101)和 11(二进制的 1011)相加,仅在两个数字都具有 1 的位置中返回 1。

var insert:Number = 13;
  var update:Number = 11;
  trace(insert & update); // output : 9 (or 1001 binary)

将数字 13 和 11 相加的结果是 9,因为这两个数字中都只有第一个和最后一个位置具有数字 1。

下面的示例说明返回值转换的行为:

trace(0xFFFFFFFF); // 4294967295
  trace(0xFFFFFFFF & 0xFFFFFFFF); // -1
  trace(0xFFFFFFFF & -1); // -1
  trace(4294967295 & -1); // -1
  trace(4294967295 & 4294967295); // -1

Tags:动画制作 AND 运算符

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接