реализовать эту переменную в Java - PullRequest
1 голос
/ 15 мая 2010

Предположим, код задан так:

pattern_mask[pattern[i]] &= ~(1UL << i);

Что это за тип в Java? Как мне реализовать это в Java?

1 Ответ

3 голосов
/ 15 мая 2010

Java не имеет беззнаковых long, но 1L является 64-разрядным литералом со знаком long.

Ссылки


Об маскировании операнда графа

Счетчик сдвига маскируется: только младшие 5 битов для сдвига int и только младшие 6 битов для сдвига long.

Следующий фрагмент показывает, как из-за этого переключение на 1 отличается от переключения на 1L.

System.out.println(1 << 1); // prints "2"
System.out.println(1 << 33); // prints "2"
System.out.println(1L << 33); // prints "8589934592"
System.out.println(1L << 65); // prints "2"

Смежные вопросы

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...