0

重複の可能性:
ビットごとの&ifステートメント内での使用

http://local.wasp.uwa.edu.au/~pbourke/geometry/polygonise/から次のコードを入手しました。

    if (edgeTable[cubeindex] & 1)
      vertlist[0] =
         VertexInterp(isolevel,grid.p[0],grid.p[1],grid.val[0],grid.val[1]);
   if (edgeTable[cubeindex] & 2)
      vertlist[1] =
         VertexInterp(isolevel,grid.p[1],grid.p[2],grid.val[1],grid.val[2]);

Javaで実行されるようにifステートメントを書き直すにはどうすればよいですか?

よろしくマイケル

4

1 に答える 1

0

edgeTable[cubeindex] & 1はJavaで有効な操作であり、Cと同じ意味です。詳細については、ビット単位およびビットシフト演算子に関するJavaチュートリアルを参照してください。

ただし、ifステートメントで明示的な条件をテストする必要があります。

if ((edgeTable[cubeindex] & 1) != 0)
于 2012-04-09T09:23:39.333 に答える