我正在寻找创建一个基本的国际象棋(或失败,跳棋/选秀)引擎。在研究了这个主题之后,我相当有信心我想使用一系列的位板。我在基本层面上理解了这个概念,但我在用 Java 表示它们时遇到了麻烦。
我试图将棋盘的白色部分表示为 1,将其他所有部分表示为 0,使用 long:
long whitePieces = 0000000000000000000000000000000000000000000000001111111111111111L;
但是当我打印出来时,我得到以下 46 位:
System.out.println(Long.toBinaryString(whitePieces));
1001001001001001001001001001001001001001001001
是什么导致了这个结果?我敢肯定我在这里从根本上误解了一些东西。如果有人能指出我正确的方向,我将不胜感激。