有神通的僧人:询问一段flash的ActionScript程序……

来源:百度文库 编辑:查人人中国名人网 时间:2024/05/11 15:19:43
我最近在学习flash的ActionScript,于是找了一个《国际象棋》的代码来看,其中有一段看不明白。

if (rules.isKnight)
{
var x = row - 1;
var y = col + 2;
if (x >= 0 && x < 8 && y >= 0 && y < 8)
{
if (chessBoard[x][y] == VOID || side != (chessBoard[x][y] & 1))
{
poMo[poMo.length] = row << 9 | col << 6 | x << 3 | y;
}
}

特别是“poMo[poMo.length] = row << 9 | col << 6 | x << 3 | y;”这段,“<<”好像是浮点运算方面的吧……麻烦大大顺便解释一下32位浮点运算原理是怎么回事……
谢谢了~~~

"<<"是按位向左移位运算符,比如:整数 1 向左移 10 位:x = 1 << 10 此运算的结果为 x = 1024。这是因为十进制的 1 等于二进制的 1,二进制的 1 向左移 10 位是二进制的 10000000000,而二进制的 10000000000 就是十进制的 1024。