gpt4 book ai didi

Java Bitset 初始化

转载 作者:行者123 更新时间:2023-11-29 07:32:04 26 4
gpt4 key购买 nike

我正在为我的程序使用 BitSet 类。我需要一个内联声明,例如:

BitSet bits1 = new BitSet(); //standard declaration
bits1.set(0,2);
bits1.set(4,6);
System.out.println(bits1); //110011

BitSet bits2 = BitSet.valueOf(new long[] {1,1,0,0,1,1}); //inline
System.out.println(bits2);

使用这段代码,我试图复制 bits1bits2 中的同一个 BitSet。问题如下:打印和值不同。我设置的 BitSet 是 110011。第一个打印出 {0, 1, 4, 5} 它是正确的,因为这是打印带索引的 BitSet 的“不错”方式,第二个打印出 {0, 64, 256、320}。如您所见,第二个是错误的。我很确定内联初始化是错误的,但我不知道如何解决这个问题。

最佳答案

数组中的每个 long 代表 64 位。您只需要一个设置了 4 位的 long:

BitSet bits2 = BitSet.valueOf(new long[] {0b110011});
System.out.println(bits2);
// {0, 1, 4, 5}

关于Java Bitset 初始化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40752831/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com