Я хочу создать базовый шахматный (или, если это не удастся, шашки / шашки) движок. Изучив тему, я совершенно уверен, что хочу использовать серию битовых досок. Я понимаю эту концепцию на базовом уровне, но у меня возникают проблемы с ее представлением на Java.
Я попытался представить белые фигуры на шахматной доске как 1, а все остальное как 0, используя длинное число:
long whitePieces = 0000000000000000000000000000000000000000000000001111111111111111L;
Но когда я распечатываю его, я получаю следующие 46 бит:
System.out.println(Long.toBinaryString(whitePieces));
1001001001001001001001001001001001001001001001
Что является причиной этого результата? Я уверен, что здесь есть что-то, что я в корне неправильно понимаю; Если бы кто-нибудь мог указать мне в правильном направлении, я был бы очень благодарен.
05
?, Ответ:5
. Вместо этого создайте двумерный массив логических значений. Или какое-то закодированное целое число вместо нескольких таких массивов. - person keyser   schedule 15.08.20141111111111111111
, это будет не1111111111111111
...1111111111111111
— это двоичное представление двоичного числа1111111111111111
, которое является целым числом65535
. - person rid   schedule 15.08.2014