Java中的位图/位板

eh57zj3b  于 2023-05-21  发布在  Java
关注(0)|答案(1)|浏览(201)

我正在用Java编程一个国际象棋引擎,我想在一个名为位图或位板的变量中表示所有棋子的位置。在C++中,我会简单地使用unsigned long,或者所谓的uint64_t。但是因为Java中没有无符号变量(据我所知),有什么有效的方法,如何实现这个方法?
我试了所有我能想到的方法

whhtz7ly

whhtz7ly1#

实际上,有符号性与使用数字作为位掩码并没有显著的区别--至少在Java中没有。
您可以很好地使用long,即使它是签名的。1L << 63工作。请注意,当向右移动遮罩时,您需要使用>>>而不是>>
请注意,如果您想存储超过64位的数据,您可能希望使用java.util.BitSet,它是专门设计为根据需要缩放的位图。

相关问题