无法在java中生成64位长的值
最近我对位操作和算术产生了兴趣。我计划编写一个代码来表示一个棋盘,使用一个64位长的变量,其中每一位代表一个单元格 我遇到了如下问题:无法在java中生成64位长的值,java,64-bit,Java,64 Bit,最近我对位操作和算术产生了兴趣。我计划编写一个代码来表示一个棋盘,使用一个64位长的变量,其中每一位代表一个单元格 我遇到了如下问题: public class Chess { public static void main(String[] args) { long v = (1 << 63 ) - 1; System.out.println(Long.MAX_VALUE+ " " +v); System.out.println(Long.toBinary
public class Chess {
public static void main(String[] args) {
long v = (1 << 63 ) - 1;
System.out.println(Long.MAX_VALUE+ " " +v);
System.out.println(Long.toBinaryString(v));
System.out.println(Long.bitCount(v));
}
}
这是不正确的
我需要一个64位二进制字符串。我使用的是64位机器和64位Windows操作系统
请帮忙 您有一个
int
文本,因此当尝试按63
进行位移位时,只考虑63
的最后5位--31
使用long
literal(附加“L”)到位移位:
long v = (1L << 63 ) - 1;
非常感谢..我试错了“L”这个词..我爱死你了
long v = (1L << 63 ) - 1;