除了BigInteger
之外,如何从控制台读取二进制数并将其存储在java中。
编辑:我需要读取最多2000位,然后执行多项操作,例如shift,或等等。我需要的方法不是BigInteger
我不想使用biginteger,因为我无法轻易获得特定索引(虽然它有testBit()它对我没用,因为我需要打印1或0,这个方法返回true / false。再次是if-否则是开销)。所以我想实现自己的get方法。
答案 0 :(得分:2)
Integer.parseInt(enteredString, 2);
答案 1 :(得分:1)
好吧,也许你可以使用BitSet
String input="1001010101010101";
int len=input.length();
BitSet bs=new BitSet(len);
int i=len-1;
for (char c:input.toCharArray())
bs.set(i--, c=='1'?true:false);
它支持逻辑操作,但不支持
编辑:我也不明白为什么不使用BigInteger
,因为你没有解释它......
编辑:更改了代码,因为之前的版本颠倒了比特顺序,这可能会令人困惑
答案 2 :(得分:0)
将其作为Strings
阅读,并使用ints
将其存储为Integer.parseInt(binaryString, 2);
。
如果您想再次使用二进制文件,只需使用Integer.toBinaryString();
答案 3 :(得分:0)
可以使用Integer.parseInt(urString,2)。